Video advertising system

ABSTRACT

A video advertising system, methods, and apparatus are disclosed, which may include an advertising system, including an advertising server and advertising console, and a user device, which may cooperate to select video advertising campaigns and display video advertisements. In an example embodiment, a method includes playing a video on a display, overlaying markings on the video while the video plays, at a first time while the video plays, measuring a first refresh rate of the video, at a second time while the video plays, performing a first operation on the markings, measuring a second refresh rate of the video at the second time, and determining an estimated area of the video displayed on the display based on the first refresh rate and the second refresh rate. In an example embodiment, a prediction model is trained to output a viewability inference for a video.

CROSS-REFERENCE TO RELATED APPLICATIONS

The present application is a continuation of U.S. patent applicationSer. No. 15/004,300, filed on Jan. 22, 2016, which is a non-provisionalof U.S. Provisional Application Ser. No. 62/106,565, filed Jan. 22,2015, the entire disclosure of each of which is hereby incorporated byreference herein.

BACKGROUND

The present disclosure relates to digital video advertising. Inparticular, the present disclosure relates to systems, components, andmethodologies for selecting, delivering, displaying, and collecting andanalyzing metrics associated with digital video advertising.

SUMMARY

According to the present disclosure, systems, components, andmethodologies are provided for selecting, delivering, displaying, andcollecting and analyzing metrics associated with digital videoadvertising.

In illustrative embodiments, a video advertising system selects a videoadvertisement for display on an end user device based not only ontargeting criteria exchanged with a demand side platform (“DSP”), butalso based on targeting criteria that specifies attributes measured onan end user device. The video advertising system includes softwarerunning on the end user device capable of measuring properties of theend user device, such as hardware properties (type of CPU, WiFiconnectivity, audio connectivity, etc.), software properties (measuredvideo player size, measured player resolution, etc.), user-specificproperties (user latitude and longitude, whether the user has scrolledaway from the video frame, etc.), and other properties to be discussedbelow. The software running on the end user device selects a videoadvertisement having targeting criteria that aligns with the measuredproperties of the end user device.

The video advertising system can select advertisements most suitable forthe actual environment in which the video advertisement will be playedby using targeting criteria that specifies measured properties of an enduser device. This enables the video advertising system to targetadvertisements based on end user device properties unavailable withconventional advertising systems. Moreover, even where conventionalsystems purport to select advertisements based on certain end userdevice properties, such systems typically rely on properties as they arereported. Reported properties may be limited, unavailable, erroneous oreven fraudulent. By measuring properties directly from an end userdevice, the video advertising system is not susceptible to erroneous orfraudulent reporting and can generate information that would beotherwise unavailable.

By way of example, an end user device property relevant to videoadvertisers is video player size. The provider of the video advertisingspace may report the video player size to be large, either fraudulentlyor based on the provider's subjective measure of size. A videoadvertising system in accordance with the present disclosure measuresthe actual, physical size of the video player at the time the intendedviewer of the advertisement plays the video. The measured video playersize represents a more accurate measure of the impact of theadvertisement on the intended viewer than the reported player size.

In illustrative embodiments, the video advertising system providesaccurate measurements of the viewability of video advertisements. When auser views a content page having a video advertisement, the user mayscroll away from the video advertisement, obscuring some or all of thevideo. Viewability measurements can be valuable to advertisersinterested in assessing the effectiveness of advertisements. Inaccordance with the present disclosure, the video advertising system maymeasure what percentage of a video is viewable to a user at any giventime.

The video advertising system can accurately measure viewability even inenvironments where direct, deterministic viewability measurements arenot available, such as when the video advertising is rendered within anunFriendly iFrame. The video advertising system can measure viewabilityusing statistical inferences that are formed based on differences in howthe end user device responds to processor-based operations (e.g.,blurring, dithering, etc.) performed on viewable portions of the videoas compared to non-viewable portions of the video.

By providing accurate viewability measurements even when directviewability measurements are not available, the video advertising systemprovides improved feedback to advertisers regarding the effectiveness oftheir advertising campaigns. Moreover, the video advertising system cantake actions on the end user device based on the viewabilitymeasurements. For example, the video advertising system may pause thevideo when a pre-determined portion of the video is not viewable (e.g.,as a user scrolls away from the video), and may resume the video when asufficient portion of the video is again viewable (e.g., as a userscrolls back).

Additional features of the present disclosure will become apparent tothose skilled in the art upon consideration of illustrative embodimentsexemplifying the best mode of carrying out the disclosure as presentlyperceived.

BRIEF DESCRIPTION OF THE FIGURES

The detailed description particularly refers to the accompanying figuresin which:

FIG. 1A is a diagrammatic view of a video advertising system 10 inaccordance with the present disclosure for selecting, delivering,displaying, and collecting and analyzing metrics associated with digitalvideo advertising;

FIG. 1B is a diagrammatic view of an exemplary deployment of videoadvertising system 10 of FIG. 1A in accordance with the presentdisclosure;

FIG. 2 is a diagrammatic view of an advertising campaign setup processperformed by advertising console, and an advertising campaign selectionprocess performed by a demand side platform in accordance with thepresent disclosure;

FIG. 3 is a diagrammatic view of a target criteria setting operation ofFIG. 2, illustrating three sets of exemplary targeting criteria andillustrating how targeting criteria may be set in accordance with thepresent disclosure;

FIG. 4 is a diagrammatic view of a disambiguation criteria settingoperation of FIG. 2, illustrating how disambiguation criteria may be setin accordance with the present disclosure;

FIG. 5 is a diagrammatic view of an advertisement server responseprocess in accordance with the present disclosure, illustrating how anadvertisement server may respond to a query for an advertisement afteran advertising campaign associated with the advertisement server isselected by a publisher or supply side platform as a winning advertisingcampaign;

FIG. 6 is a diagrammatic view of operations of a device-sideadvertisement application programming interface (API) in accordance withthe present disclosure, showing that the device-side advertisement APIgenerates several processes that operate in parallel, including a datacollecting process, an advertisement selecting process, and aviewability measuring process;

FIG. 7 is a diagrammatic view of an advertisement selecting process ofFIG. 6 in accordance with the present disclosure, showing that thedevice-side advertisement API considers the advertising campaign thatwas selected by the publisher as the winning advertising campaign andalso considers related advertising campaigns, and selects an advertisingcampaign for display based on a comparison of measured end user deviceproperties with targeting criteria of the advertising campaigns;

FIG. 8 is a diagrammatic view of a scoring operation and selectingoperation shown in FIG. 7 in accordance with the present disclosure,showing how device-side advertisement API selects from among multipleadvertising campaigns suitable for a particular end user device;

FIG. 9 is a diagrammatic view of a viewability measuring process shownin FIG. 6 in accordance with the present disclosure, showing thatdevice-side advertisement API can generate viewability measurements bothin situations where direct, geometric measurements are available and insituations where direct, geometric measurements are not available;

FIG. 10 is a diagrammatic view of a geometric determination process inaccordance with the present disclosure, showing how the device-sideadvertisement API determines the viewability of videos rendered inFriendly iFrames;

FIG. 11 is a diagrammatic view of a viewability prediction operation inaccordance with the present disclosure, showing how the device-sideadvertisement API determines the viewability of videos rendered inunFriendly iFrames;

FIG. 12 is a diagrammatic view illustrating how the device-sideadvertisement API generates the prediction algorithm of FIG. 11 inaccordance with the present disclosure;

FIGS. 13A-C illustrate a process by which the device-side advertisementAPI pauses or plays a video advertisement based on viewabilitymeasurements in accordance with the present disclosure; and

FIG. 14 is a diagrammatic view of a collecting operation performed bythe device-side advertisement API, illustrating the types of data thatthe device-side advertisement API collects in accordance with thepresent disclosure.

DETAILED DESCRIPTION

The figures and descriptions provided herein may have been simplified toillustrate aspects that are relevant for a clear understanding of theherein described devices, systems, and methods, while eliminating, forthe purpose of clarity, other aspects that may be found in typicaldevices, systems, and methods. Those of ordinary skill may recognizethat other elements and/or operations may be desirable and/or necessaryto implement the devices, systems, and methods described herein. Becausesuch elements and operations are well known in the art, and because theydo not facilitate a better understanding of the present disclosure, adiscussion of such elements and operations may not be provided herein.However, the present disclosure is deemed to inherently include all suchelements, variations, and modifications to the described aspects thatwould be known to those of ordinary skill in the art.

By way of overview, FIG. 1A shows a video advertising system 10 thatenables display of a video advertising campaign 1 on an end-user device16. Advertising console 18 creates advertising campaigns 1-10 (shown inFIG. 2), from which a particular advertising campaign 1 may be selectedfor display on end-user device 16. Advertising campaigns 1-10 mayinclude one or more video advertisements, targeting criteria 15 settingforth attributes used during advertisement selection, and otherparameters.

FIG. 1A suggests that advertising console 18 enables advertiser 12 toselect attributes for three sets of targeting criteria 15, labelled asCriteria Set One 15 a, Criteria Set Two 15 b, and Criteria Set Three 15c, respectively. Criteria Set One 15 a may include advertisementselection criteria supported by a DSP 20 (to be discussed below). By wayof example, Criteria Set One 15 a may include specifications on a budgetfor an advertising campaign, types of devices (desktop, laptop, mobile,etc.) suitable for an advertising campaign, or a video player size (asdeclared by a publisher) suitable for an advertising campaign. CriteriaSet Two 15 b may include a list of URLs acceptable to advertiser 12 forshowing a video advertisement. For example, Criteria Set Two 15 b mayinclude URLs on which advertiser 12 has previously advertised or URLshaving content similar to where advertiser 12 has previously advertised.Criteria Set Three 15 c may include attributes related to measuredproperties of end user device 16. For example, Criteria Set Three 15 cmay include specifications on types of devices, device bandwidthcapabilities, or device battery levels that are suitable for anadvertising campaign.

Attributes for Criteria Set One 15 a, Criteria Set Two 15 b, andCriteria Set Three 15 c will be discussed in more detail below. Althoughthree sets of criteria are discussed in the present disclosure, thepresent disclosure encompasses targeting criteria setting forth anynumber of attributes organized into any suitable number of criteriasets.

In the illustrated example, advertising console 18 is used to create anadvertising campaign 7. Advertising console 18 enables advertiser 12 toselect targeting criteria 15 by selecting attributes for Criteria SetOne 15 a (depicted by vertical lines), attributes for Criteria Set Two15 b (depicted by vertical lines), and attributes for Criteria Set Three15 c (depicted by horizontal lines). For ease of explanation, possibleselections for Criteria Set One 15 a, Criteria Set Two 15 b, andCriteria Set Three 15 c are graphically depicted by boxes filled withlines of varying orientation, including vertical lines, angled lines,and horizontal lines.

After targeting criteria 15 have been selected, advertising console 18sends advertising campaign 7 to DSP 20. However, advertising console 18sends only targeting Criteria Set One 15 a and Criteria Set Two 15 b toDSP 20 for use in advertisement selection by DSP 20. Criteria Set Three15 c is reserved for later processing by video advertising system 10, aswill be explained below.

DSP 20 receives a request for a bid for video advertising from a contentpublisher 22 and/or a supply side platform (“SSP”) 23 associated withpublisher 22. Publisher 22 manages content 24, such as a webpage, to bepublished to an end user device 16. Content 24 includes a location 25suitable for video advertising, and publisher 22 solicits bids (eitherdirectly or via SSP 23) for showing a video advertisement in location25. Publisher 22 and/or SSP 23 may solicit bids from one or more DSPs20. In response, DSP 20 may submit bids for advertising campaign 7.

Publisher 22 and/or SSP 23 may solicit bids by indicating specificationson attributes for Criteria Set One 15 a and Criteria Set Two 15 b. DSP20 may select advertising campaigns for which to submit bids byidentifying advertising campaigns having matching attributes forCriteria Set One 15 a and Criteria Set Two 15 b. Where multipleadvertising campaigns satisfy the relevant attributes for Criteria SetOne 15 a and Criteria Set Two 15 b, DSP 20 may implement any suitablemethodology to select one. In this example, advertising campaign 7 hassuitable attributes for Criteria Set One 15 a and Criteria Set Two 15 bfor the requested bid, and DSP 20 submits a bid for advertising campaign7.

In this illustration, publisher 22 and/or SSP 23 accept the bidsubmitted by DSP 20 for advertising campaign 7. Publisher 22 publishescontent 24 to browser 28, which renders content 24 on end user device16. Publisher 22 also notifies browser 28 of winning advertisingcampaign 7, including a notification of an advertisement server 30 thatcan serve winning advertising campaign 7 to end user device 16. Browser28 may then query advertisement server 30 for the video advertisement.

Video advertising system 10 can find advertising campaigns even morelikely to yield positive outcomes for advertiser 12 than winingadvertising campaign 7. Rather than simply serving winning advertisingcampaign 7, video advertising system 10 considers additional advertisingcampaigns 1, 6, 8, 11 that have attributes for Criteria Set One 15 a andCriteria Set Two 15 b similar to those of winning advertising campaign7. As a result, additional advertising campaigns 1, 6, 8, 11 areconsistent with criteria used by DSP 20 to select advertising campaign7. However, video advertising system 10 may additionally factor end userdevice properties 163 to select an advertising campaign 1, 6, 7, 8, 11that is most likely to yield positive outcomes for advertiser 12 on enduser device 16.

To factor end user device properties 163, video advertising system 10measures and compares end user device properties 163 to attributes inCriteria Set Three 15 c for advertising campaigns 1, 6, 7, 8, 11. Asmentioned, Criteria Set Three 15 c includes attributes related tomeasured properties of end user device 16. Video advertising system 10includes a device-side advertisement API 32, which operates on end userdevice 16 and can directly measure end user device properties 163. Videoadvertising system 10 may compare measured end user device properties163 to Criteria Set Three 15 c for advertising campaigns 1, 6, 7, 8, 11and perform an additional round of advertisement selection, beyond thatperformed by DSP 20.

To enable device-side advertisement API 32 to run on end user device 16,advertisement server 30 transmits device-side advertisement API 32 (or areference to device-side advertisement API 32) to end user device 16.Device-side advertisement API 32 then initiates its operations on enduser device 16, as illustrated in FIG. 6. Advertisement server 30 maythen transmit to device-side advertisement API 32 information associatedwith winning advertising campaign 7 as well as related advertisingcampaigns 1, 6, 8, 11.

Device-side advertisement API 32 determines which of advertisingcampaigns 1, 6, 7, 8, 11 have attributes most suitable for use on enduser device 16. The information transmitted to device-side advertisementAPI 32 includes attributes for Criteria Set Three 15 c for advertisingcampaigns 1, 6, 7, 8, 11. Device-side advertisement API 32 comparesattributes for Criteria Set Three 15 c for each advertising campaign 1,6, 7, 8, 11 to measured properties 163 of end user device 16, anddetermines which of advertising campaigns 1, 6, 7, 8, 11 have attributesfor Criteria Set Three 15 c most suitable for use on end user device 16.

Examples of attributes for Criteria Set Three 15 c will be discussed inmore detail below, but may include measured video player size, measuredbandwidth, WiFi connectivity, and geographic location of end user device16, to name a few. For example, if advertiser 12 values a highclick-through rate for a particular advertising campaign, advertiser 12may prefer that such an advertising campaign be shown only on end uservideo players that are quantitatively large, in that they have aphysical size measurement exceeding a predetermined threshold, becauseusers are more likely to click on advertisements shown on large videoplayers.

As another example, brand advertisers may place value on the quality ofan end user's experience with interactions that end users have with thebrand advertisers. A brand advertiser may want its video advertisementsto be delivered to a viewer when the viewer's device is connected usinga high bandwidth connection, such as WiFi, which promotes a smooth anddisruption-free advertisement delivery. By employing attributes forCriteria Set Three 15 c, video advertising system 10 can measure whetherend user device 16 has a high bandwidth, WiFi connection.

As yet another example, advertisers may value information regardinggeographic location of video advertisement viewers. An automobiledealer, for example, may want to target users that are within apredetermined distance (e.g., ten miles) of their dealership at the timethey view the advertisement. Advertisers may also value historicalgeographic location information. The automobile dealer may, for example,want to include in its target audience viewers that were within apredetermined distance a predetermined number of times within apredetermined time window (e.g., within a ten mile radius five or moretimes in the last fifteen days). Video advertising system 10 measuresgeographic information, such as the latitude and longitude of end userdevice 16, which may be obtained by querying the global positioningsystem of end user device 16 at the time of advertisement delivery.Geographic information may be stored on end user device 16 by videoadvertising system 10 for later use as historical geographicinformation. Video advertising system 10 may also provide a confidenceinterval for the accuracy of its geographic measurements. The geographiclocations of viewers that view a video advertisement, the historicalgeographic behavior of individuals that have viewed the videoadvertisement in the past, and measurements of viewer interactions withthe video advertisement provides detailed and valuable insights into theinterests of the viewers.

In this example, a set of measured end user device properties 163 aregraphically depicted for ease of explanation by a box containingvertical lines. Advertising campaigns 1 and 6 have attributes forCriteria Set Three 15 c that match measured end user device properties163, suggested by boxes containing vertical lines for each. Winningadvertising campaign 7 has attributes for Criteria Set Three 15 c thatdo not match, suggested by a differently styled box, containinghorizontal lines. As a result, device-side advertisement API 32 selectseither advertising campaign 1 or 6, rather than winning advertisingcampaign 7. Using a scoring methodology to be discussed below,device-side advertisement API 32 may select advertising campaign 1 overadvertising campaign 6, and render advertising campaign 1 at location 25of content 24. Thus, in this example, video advertising system 10selected an advertising campaign 1 for display on end user device 16that is more suitable than the winning advertising campaign 7 selectedby DSP 20.

FIG. 1B shows an exemplary deployment of video advertising system 10 inaccordance with the present disclosure. As illustrated, advertisingserver 30, advertising console 18, analytics module 18, and advertisingdata warehouse 86 may be hosted by an advertising service provider 364.Thus, advertising server 30, advertising console 18, analytics module18, and advertising data warehouse 86 may all be provided at a commonlocation or as part of a common local area network, though in otherimplementations may be provided separately. In an example embodiment,the advertising console 18, analytics module 18, and advertising datawarehouse 86 may be included in the advertising server 30. Advertiser 12may host advertisement asset server 4. Advertising service provider 364,advertiser 12, end user device 16, publisher 22, SSP 23, and DSP 20 mayall be in communication through network 366, such as the Internet, widearea networks, local area networks, or combinations thereof.

FIGS. 2-14 illustrate systems, components, and methodologies of variousaspects of video advertising system 10. By way of overview, FIGS. 2-4illustrate systems, components, and methodologies by which anadvertising campaign 7 may be created by advertising console 18, and bywhich advertising campaign 7 may be selected by DSP 20 as a winningadvertising campaign. FIG. 5 illustrates how advertisement server 30 mayrespond to a query for an advertisement after an advertising campaignassociated with advertisement server 30 is selected by a publisher22/SSP 23. FIGS. 6-14 illustrate systems, components, and methodologiesby which video advertising system 10 may measure properties of end userdevice 16, select an advertising campaign to display on end user device16, measure viewability of video advertising being displayed on end userdevice 16, and collect and analyze data associated with videoadvertising being displayed on end user device 16.

As mentioned, FIGS. 2-4 illustrate systems, components, andmethodologies by which advertising campaign 7 may be created byadvertising console 18, and by which advertising campaign 7 may beselected by DSP 20 as a winning advertising campaign. Certain aspects ofcreating advertising campaign 7 are relevant to the manner by which DSP20 selects winning advertising campaigns. Other aspects are not directlyused by DSP 20, but will later be used by device-side advertisement API32 to enable video advertising system 10 to provide device-sidefunctionality.

FIG. 2 is a diagrammatic view of an advertising campaign setup process40 performed by advertising console 18, and an advertising campaignselection process 60 performed by DSP 20 in accordance with the presentdisclosure. Advertising campaign setup process 40 creates, assembles,and sends advertising campaign 7 to DSP 20 through campaign creatingoperation 41, campaign assembling operation 54, campaign sendingoperation 56, and campaign updating operation 58. Campaign creatingoperation 41 includes several setting operations, including operation42, in which advertising console 18 sets insertion order (“IO”)parameters. Exemplary IO parameters may include a budget for theadvertising campaign (e.g., $100,000), flight dates for the advertisingcampaign (e.g., Dec. 1, 2014-Dec. 31, 2014), desiredcost-per-thousand-impressions for the advertising campaign (“CPM”)(e.g., $15), frequency parameters for the advertising campaign (e.g., 3displays per 24 hour period), and pacing for the advertising campaign(e.g., evenly pace throughout the campaign, display as soon as possible,etc.).

In operation 44, advertising console 18 sets targeting criteria 15,including Criteria Set One 15 a, Criteria Set Two 15 b, and Criteria SetThree 15 c. As previously summarized, targeting criteria 15 may includeattributes used during advertisement selection. Criteria Set One 15 amay include attributes supported by DSP 20, Criteria Set Two 15 b mayinclude URLs acceptable to advertiser 12 for advertising campaign 7, andCriteria Set Three 15 c may include attributes for measured propertiesof end user device 16. The manner by which targeting criteria 15 are setwill be discussed in more detail below, in connection with FIG. 3.

In operation 46, advertising console 18 sets a pointer to a defaultadvertisement 47. Default advertisement 47 is selected as anadvertisement having Criteria Set One 15 a and Criteria Set Two 15 bthat match Criteria Set One 15 b and Criteria Set Two 15 b ofadvertising campaign 7, as suggested by use of boxes having similarlystyled vertical lines. However, default advertisement 47 does notnecessarily have Criteria Set Three 15 c that matches Criteria Set Three15 c of advertising campaign 7, and may not have any attributes forCriteria Set Three 15 c at all. As will be explained below, insituations where device-side advertisement API 32 is unable to findadvertising campaigns that have attributes for Criteria Set Three 15 csuitable for end user device 16, device-side advertisement API 32 mayinstead select a default advertisement, such as default advertisement47, for display on end user device 16.

In operation 48, advertising console 18 sets a URL to an alternate SSP49 (shown in FIG. 1A). As will be explained below, in situations wheredevice-side advertisement API 32 is unable to find any advertisingcampaigns that have attributes for Criteria Set Three 15 c suitable forend user device 16, and is further unable to identify any defaultadvertisements, device-side advertisement API 32 may decide to resellthe advertising opportunity through alternate SSP 49.

In operation 50, advertising console 18 sets quantitative goals forachieving desired outcomes for advertising campaign 7. For example, agoal may be that a user clicks on video advertisement, that a videoadvertisement achieve a particular click-through rate (“CTR”), that auser watch a certain percentage of a video advertisement, that a userwatch a certain percentage of a video advertisement with at least acertain percentage of that video advertisement viewable, or otheroutcomes.

Goals may be used to facilitate selection of disambiguation criteria,which are set in operation 52. As will be explained below, there may beinstances in which device-side advertisement API 32, even afterfactoring Criteria Set Three 15 c, has more than one advertisingcampaign suitable for display on end user device 16. Disambiguationcriteria can be used to determine which of the qualifying advertisementsshould ultimately be selected. In certain implementations,disambiguation criteria are parameters that are used to scoreadvertising campaigns, where the parameters are selected based on thegoals specified during setting operation 50. The manner by whichdisambiguation criteria may be set is discussed in more detail inconnection with FIG. 4, below.

In operation 53, advertising console 18 sets playback criteria. Playbackcriteria can set forth specifications on how video advertisements areplayed back on end user device 16. An exemplary playback criteria is“pause when not in view.” If this playback criteria is set, a videoadvertisement being shown on end user device 16 may pause when apredetermined portion of the video is not within a viewable portion of acontent page, and resume playing when a predetermined portion of thevideo is within the viewable portion of the content page. The “pausewhen not in view” playback criteria will be described in more detail inconnection with FIGS. 13A-C. In exemplary implementations, playbackcriteria may be set at the same time or through a common interface astargeting criteria 15.

After campaign creating operation 41, advertising campaign setup process40 proceeds to campaign assembling operation 54. In campaign assemblingoperation 54, advertising console 18 assembles all advertisements thathave attributes for Criteria Set One 15 a and Criteria Set Two 15 b thatmatch Criteria Set One 15 a and Criteria Set Two 15 b of advertisingcampaign 7. As previously explained, even if advertising campaign 7 wereto be selected as a winning advertising campaign by DSP 20, device-sideadvertisement API 32 may consider additional advertising campaigns 1, 6,8, 11. The additional advertising campaigns 1, 6, 8, 11 may be selectedsuch that they are related to winning advertising campaign 7, in thatthey have the same or similar attributes for Criteria Set One 15 a andCriteria Set Two 15 b. The additional advertising campaigns 1, 6, 8, 11are collected in assembling operation 54 so they can later betransmitted to device-side advertisement API 32.

Advertising campaign setup process may proceed to campaign sendingoperation 56, in which the advertising campaign 7 is sent to DSP 20.Campaign sending operation 56 may send only the advertising campaigninformation used by DSP 20. Thus, for example, sending operation 56 maysend Criteria Set One 15 a and Criteria Set Two 15 b, but may not sendCriteria Set Three 15 c. If advertising campaign 7 is updated, campaignupdating operation 58 may convey any changes to DSP 20. For example,advertising console 18 may generate a full update file reflectingchanges to all advertising campaigns periodically (e.g., every hour) andplace the update file on servers associated with DSP 20.

Advertising campaign selection process 60, performed by DSP 20, is alsoillustrated in FIG. 1A, and operates to select a winning advertisingcampaign. Advertising campaign selection process 60 begins withoperation 62, in which DSP 20 receives requests for bids. For example,DSP 20 may receive requests from bids from publisher 22 and/or SSP 23.Advertising campaign selection process 60 proceeds to operation 64, inwhich DSP 20 receives advertising campaigns. In this illustration, DSP20 receives advertising campaign 7 from advertising console 18, and alsoreceives advertising campaigns 71, 72, 73 from other advertisers.

Advertising campaign selection process 60 proceeds to operation 66, inwhich DSP 20 identifies advertising campaigns that qualify for the bid.As illustrated, DSP 20 may select qualifying advertising campaigns byidentifying those that have attributes for Criteria Set One 15 a andCriteria Set Two 15 b suitable for the bid being solicited. In thisillustration, advertising campaigns 7 and 73 are identified by DSP 20 ashaving appropriate attributes for Criteria Set One 15 a and Criteria SetTwo 15 b.

If DSP 20 identifies multiple advertising campaigns (e.g., advertisingcampaign 7 and advertising campaign 73 in this example), DSP 20 mayproceed to operation 68, in which it applies a methodology to scoreidentified advertising campaigns 7, 73. DSP 20 may proceed to operation70, in which one of the advertising campaigns 7, 73 is selected based ontheir respective scores. In this example, advertising campaign 7 isselected as the winning campaign.

FIG. 3 is a diagrammatic view of target criteria setting operation 44 ofFIG. 2, and illustrates targeting criteria 15 in accordance with thepresent disclosure. Criteria Set One 15 a may include attributes used byDSP 20 to select advertising campaigns suitable for a given bid request.Examples of attributes in Criteria Set One 15 b are set forth in thetable below. These attributes may be set using advertisement console 18.

TABLE 1 Exemplary Criteria Set One attributes Criteria Set One BudgetSpecifications on budget for video advertising campaign CPMSpecifications on cost-per-thousand- impressions for the advertisingcampaign Frequency Specifications on frequency of display of videoadvertisement, such as number of displays per hour, per day, etc. PaceSpecifications on delivery pace of video advertisement, such as whetherto pace evenly or deliver as soon as possible Day parting (hoursSpecification on the weekdays or hours by day matrix) within weekdays -e.g. a restaurant, specializing in lunch for office workers, may want torun a video advertisement from 11 AM-2 PM Monday through Friday only.Geography Specifications on location of end user device, such as IPaddress-based location, which may be based on country, state, zip,designated market area (DMA), metropolitan statistical area (MSA), etc.Declared Inventory Specifications on the content category categoryprovided by the publisher of that content. Declared DomainSpecifications on the list of domains where whitelist the advertiserwants to restrict their advertising OS Specifications on operatingsystems suitable for video advertisement (e.g., MacOS, Win7, iOS,Android, etc) Device Specifications on device type suitable for videoadvertisement (e.g., laptop, desktop, mobile, etc.) Declared player sizeSpecifications on player size suitable for video advertisement, based onreported player size SSP Specifications on the Supply Side Platformvendor or list of allowed vendors Pre-roll/Mid-roll/ Specifications onwhether video should be post-roll pre-roll (displayed prior to renderingof publisher's video content), mid-roll (displayed in the middle ofpublisher's video content), or post-roll (displayed after publisher'svideo content has completed) Audience segment Specifications on thesegments, as provided by the supply side platform or the demand sideplatform or another 3^(rd) party, that the advertiser wants to restrictthe advertisement (e.g., only show ads to females 25-34 years old)

In target criteria setting operation 44, advertisement console 18enables advertiser 12 to set attributes for Criteria Set One 15 a. FIG.3 graphically depicts various possible sets of attributes for CriteriaSet One 15 a as boxes having lines of different orientations, andsuggests that advertisement console 18 selects a particular set ofattributes for Criteria Set One 15 a.

Criteria Set Two 15 b may also be used by DSP 20 during advertisementselection. Criteria Set Two 15 b may include a list of URLs that areconsidered acceptable for display of video advertisements fromadvertiser 12. Attributes for criteria Set Two 15 b can be generated byfollowing a URL generation process 80. URL generation process 80 beginswith operation 82, in which video advertising system 10 retrieves a listof known URLs that are suitable for advertising campaign 7.

In operation 84, video advertising system 10 visits each of the knownURLs. In operation 86, video advertising system 10 extracts featuresfrom videos that are available at each of the known URLs. These featureswill be used in subsequent processing to identify other URLs that mayalso be suitable for advertising campaign 7. For example, if advertiser12 is an automobile company, advertiser 12 may provide a list of knownURLs that include video content pertaining to advertiser 12, such asvideo content about automobiles made by advertiser 12, video contentabout the class of automobiles made by advertiser 12, or the like. Suchvideo content may include characteristic features, such as keywords orvisual features. For example, such video content may include voice-overaudio that says the name of automobiles manufactured by advertiser 12,or may include logos used for automobiles manufactured by advertiser 12.

To extract features, extracting operation 86 includes operation 87,which isolates an audio stream from a video stream. Extracting operation86 then proceeds to operation 88, which identifies words being spoken aspart of the audio stream using voice recognition techniques, andidentifies keywords from among the identified words.

Extracting operation then proceeds to operation 89, which identifiesvisual features among the video, such as logos or faces, using objectrecognition, detection, and classification techniques.

URL generation process 80 then proceeds to operation 90, in which videoadvertising system 10 crawls through other Internet websites, identifiesvideo content at those sites, and extracts audio and video features fromthe video content in a manner similar to extracting operation 86.Finally, in operation 92, video advertising system 10 identifies URLshaving video with extracted features similar to the features extractedfrom video at the known URLs. The resulting list of URLs is assembledinto Criteria Set Two 15 b.

FIG. 3 graphically depicts various possible sets of acceptable URLs asboxes having lines of different orientations, and suggests thatadvertising console 18 selects a particular set as Criteria Set Two 15b.

As previously explained, Criteria Set Three 15 c is not sent to DSP 20,but is instead used by device-side advertisement API 32 during laterprocessing to select an advertising campaign. Examples of attributes inCriteria Set Three 15 c are shown in the table below. Each of theseattributes can be set by advertisement console 18 in consultation withadvertiser 12.

TABLE 2 Criteria Set Three attributes Criteria Set Two Measured LatitudeSpecifications on the latitudinal and and longitude longitudinalposition of end user device 16 Measured player-size Specifications ondimensions of video player on which video advertisement will be renderedMeasured player Specifications on resolution of video player onresolution which video advertisement will be rendered Detected parentURL Specifications on acceptable parent URL or or Domain list domainlists for URL at which content 24 is being rendered Detected WiFiSpecifications on whether end user device 16 connectivity has WiFiconnectivity Measured Bandwidth Specifications on download speed of enduser device 16 Measured minimum Specifications on battery level of enduser battery level device 16 Detected audio Specifications on audiocapabilities or settings capabilities on end user device 16 Detectedheadphone Specifications on whether a headphone is being connectivityused on end user device 16 Play only when Specifications on whether theadvertisement plugged in can only played when the device is plugged into an electric socket for charging the device. As video playback isdemanding on end user device 16 resources, including its battery, enduser device 16 may run out of battery during playback or its operatingsystem may disrupt the video delivery to conserve battery power. Beingplugged into the socket allows improved user experience, in that thevideo will be delivered with high quality without disruption. Historicallatitude and Specifications on historical latitudinal and longitudeinformation longitudinal position of end user device 16

FIG. 4 is a diagrammatic view of disambiguation criteria settingoperation 52 of FIG. 2, illustrating how disambiguation criteria may beset in accordance with the present disclosure. As explained,disambiguation criteria may be used by device-side advertisement API 32in the event that multiple advertising campaigns are suitable for enduser device 16, even after considering their respective attributes forCriteria Set Three 15 c. As shown in FIG. 4, disambiguation criteriasetting operation 52 includes three alternatives. In alternative 95,advertising console 18 may select CPM as the disambiguation criteria. Inthis scenario, device-side advertisement API 32 would select from amongmultiple suitable advertisements based solely on which has the mostfavorable CPM metrics. In alternative 97, advertising console 18 mayselect margin CPM as the sole disambiguation criteria. Margin CPM mayrefer to the portion of CPM received by a particular entity thatfacilitates video advertisement selection and distribution. Finally, inalternative 98, advertising console 18 may use predictor weights w_(j)as the disambiguation criteria.

Predictor weights w_(j) may be used to score advertising campaigns. Aswill be explained in more detail below, when device-side advertisementAPI 32 is choosing from among multiple advertising campaigns,device-side advertisement API 32 may score the advertising campaigns andselect the highest scoring advertising campaign. Predictor weights w_(j)may drive the scoring methodology to increase the likelihood that thehighest scoring advertising campaign will achieve a certain goal foradvertiser 12.

Predictor weights w_(j) may be selected by analytics module 94 (shown inFIG. 1A) according to a predictor weight selection process 110, shown inFIG. 4. Predictor weight selection process 110 begins with operation112, in which a goal is retrieved. As previously explained, the goal foran advertising campaign may be specified according to goal settingoperation 50, shown in FIG. 2, and may be that a user clicks on videoadvertisement, that a video advertisement achieve a particularclick-through rate (“CTR”), that a user watch a certain percentage of avideo advertisement, that a user watch a certain percentage of a videoadvertisement with at least a certain percentage of that videoadvertisement viewable, or other desired outcomes.

In operation 114, analytics module 94 identifies predictors d_(j) forthe goal. Predictors d_(j) may include properties that impact how likelyan advertising campaign is to achieve the goal on a given end userdevice. In exemplary implementations, the attributes selected aspredictors include attributes for Criteria Set Three 15 c. For example,where the goal is to achieve a particular click-through rate,advertising campaigns having an attribute for Criteria Set Three 15 cspecifying high bandwidth connections may be more likely to achieve thegoal, because users of high bandwidth devices may be more likely toclick on video advertisements. If a particular attribute is not in anumerical format, analytics module 94 may map the attribute to anumerical scale as to arrive at a set of numerical predictors d_(j).

By way of example, the bandwidth attribute may take on certain discrete,categorical values, such as “high”, “medium”, or “low”. High may becoded as a numerical 1, medium may be coded as a numerical 0, and lowmay be coded as a numerical −1. In exemplary implementations, numericalvalues are assigned categorical values such that they sum to zero (e.g.,−1+0+1=0). For computational efficiency, the categorical value taking ona numerical value of 0 (e.g., “medium” in this example) need not beconsidered during modeling operations.

In operation 116, analytics module 94 selects a candidate predictorweight w_(j) for each predictor d_(j) based on training data. Predictorweights w_(j) may be selected in accordance with machine learningtechniques, and may be selected such that predictors more stronglycorrelated with a likelihood that a video advertisement will achieve thegoal are assigned higher weights. Training data may include actualhistorical measurements for how video advertising on particular end userdevices having particular predictor sets d_(j) performed with respect tothe goal. As shown in FIG. 4, training data may be drawn from anadvertising data warehouse 96 (shown in FIG. 1A).

In operation 118, analytics module 94 applies candidate predictorweights w_(j) to test data, which may also be drawn from advertisingdata warehouse 96. Test data may also include actual historicalmeasurements for how video advertising on particular end user deviceshaving particular predictor sets d_(j) performed. In an exemplaryimplementation, each predictor d_(j) is multiplied by a correspondingcandidate predictor weight w_(j), and the resulting products are summedto yield a score S for the advertising campaign.

In operation 120, analytics module 94 determines whether the candidatepredictor weights w_(j) are effective in predicting the likelihood thata video advertising campaign will achieve the goal. This determinationmay assess whether computed scores S for test advertising campaignssufficiently correlate with whether the test advertising campaignsachieved the goal during past deployments.

If operation 120 determines that candidate predictor weights w_(j) arenot sufficiently effective, analytics module 94 may proceed to operation122, in which candidate predictor weights w_(j) may be refined inaccordance with machine learning techniques. Predictor weight selectionprocess 110 may iterate through operations 118, 120, 122 until candidatepredictor weights w_(j) are sufficiently effective. Predictor weightselection process 110 may conclude with operation 124, in which finalcandidate predictor weights w_(j) are selected and transmitted toadvertising console 18 as disambiguation criteria.

Thus, FIGS. 2-4 illustrated systems, components, and methodologies bywhich advertising campaign 7 may be created by advertising console 18,and by which advertising campaign 7 may be selected by DSP 20 as awinning advertising campaign.

Referring again to FIG. 1A, DSP 20 may notify browser 28 thatadvertising campaign 7 was selected for location 25 of content 24. Oncebrowser 28 receives notification of advertising campaign 7, browser 28queries advertisement server 30 for the advertisement that should berendered at location 25. FIG. 5 shows an advertisement server responseprocess 130 performed by advertisement server 30 in response toreceiving a query from browser 28.

By way of overview, advertisement server response process 130 transmitsa Video Ad Serving Template (“VAST”)/Video Player-Ad InterfaceDefinition (“VPAID”) response (i.e., a response compliant with anysuitable version of VAST and/or VPAID specifications). Rather thandirectly referencing a video advertisement to display in the VAST/VPAIDresponse, advertisement server 30 transmits a reference to device-sideadvertisement API 32, which begins operating on end user device 16. Inexemplary implementations, the reference to device-side advertisementAPI 32 is a URL to an XML resource available on a server, with the XMLresource containing a reference URL to device-side advertisement API 32.Device-side advertisement API 32 may be any suitable instruction setthat browser 28 can execute, such as a JavaScript file. In the casewhere device-side advertisement API 32 will execute in a flashenvironment, device-side advertisement API 32 may be an ActionScriptfile.

Advertisement server 30 transmits to device-side advertisement API 32various information previously established by advertising console 18 (asshown in FIG. 2), so that device-side advertisement API 32 can select anadvertising campaign to display on end user device 16.

Advertisement server response process 130 begins with operation 132, inwhich advertisement server 30 receives a request for a winningadvertisement from browser 28. In operation 134, advertisement server 30retrieves information pertaining to winning advertising campaign 7 andother related advertising campaigns. The retrieved advertising campaigninformation was previously set by advertising console 18, as describedin connection with FIG. 2. In certain implementations, advertisementserver 30 may retrieve the advertising campaign information directlyfrom advertising console 18 in response to the query from browser 28. Inthe illustrated implementation, however, advertisement server 30includes a cache 31, which periodically downloads all availableadvertising campaign information from advertising console 18. A benefitof using cache 31 is that pertinent advertising campaign information isreadily available for quick retrieval by advertisement server 30 inresponse to receiving a query from browser 28.

FIG. 5 illustrates exemplary advertising campaign information retrievedby advertisement server 30. Advertisement server 30 may retrieve a listof all related advertising campaigns 136, which includes advertisingcampaigns that have attributes in Criteria Set One 15 a and Criteria SetTwo 15 b that match corresponding attributes in Criteria Set One 15 aand Criteria Set Two 15 b for winning advertising campaign 7. Aspreviously explained, assembling operation 54 (shown in FIG. 2)assembles related advertising campaigns 136, which in this exampleincludes advertising campaigns 1, 6, 7, 8, and 11.

Advertisement server 30 may also retrieve targeting criteria 15 for allrelated advertising campaigns 136. As previously explained in connectionwith FIGS. 2 and 3, targeting criteria 15 may be established foradvertising campaign 7, and similar operations may be followed for eachof the related advertising campaigns 136. FIG. 5 illustrates differentsets of targeting criteria 15 by way of boxes with lines of varyingorientation. For example, advertising campaign 1 includes a set ofattributes for Criteria Set One 15 a, a set of attributes for CriteriaSet Two 15 b, and a set of attributes for Criteria Set Three 15 c, eachrepresented by boxes with lines having vertical orientation.

Advertisement server 30 may also retrieve a list of defaultadvertisements 140 for each of the related advertising campaigns 136.Operation 46 of FIG. 2 illustrated how a pointer to a defaultadvertisement 47 could be set for advertising campaign 7, and a similaroperation may be followed for each of the related advertising campaigns136.

Advertisement server 30 may also retrieve a URL 142 to an alternativeSSP, which was set in operation 48 of FIG. 2.

Finally, advertisement server 30 may retrieve disambiguation criteria144, which was established in disambiguation criteria setting operation52, illustrated in FIGS. 2 and 4.

Advertisement server 30 proceeds to packaging operation 146, in whichthe retrieved advertising campaign information is packaged into fieldsof a VAST/VPAID-compliant response. In operation 148, advertisementserver 30 also includes device-side advertisement API 32 into a field ofthe VAST/VPAID-compliant response. By way of example, the device-sideadvertisement API 32 may be referenced in the “Media File” field of theVAST/VPAID-compliant response, and the related advertising campaigninformation may be placed in any other suitable fields of theVAST/VPAID-compliant response. Device-side advertisement API 32 may beprogrammed with correlation tables indicating which type of relatedadvertising campaign information is stored in which VAST/VPAID field,enabling device-side advertisement API 32 to parse and interpret theVAST/VPAID-compliant response.

In operation 150, advertisement server 30 sends the assembledVAST/VPAID-compliant response to browser 28. Browser 28 follows thereference to device-side advertisement API 32. Device-side advertisementAPI 32 may then begin operating on end user device 16 as a programmaticinterface between advertisement server 30 and browser 28, as suggestedin FIG. 5.

FIG. 6 illustrates operations of device-side advertisement API 32 inaccordance with the present disclosure. Once device-side advertisementAPI 32 has been initiated, device-side advertisement API 32 performsassembling operation 160, in which device-side advertisement API 32parses, interprets, and organizes data transmitted through theVAST/VPAID-compliant response from advertisement server 30.

Device-side advertisement API 32 may then generate several processesthat operate in parallel, including a data collecting process 162, anadvertisement selection process 164, and a viewability measuring process166. Data collecting process 162 collects data regarding end user device16, advertisement selection process 164 selects an advertising campaignfor display on end user device 16, and viewability measuring process 166measures what portion of a video advertisement is viewable to a user ofend user device 16. By generating these processes in parallel,device-side advertisement API 32 achieves enhanced speed andresponsiveness.

To perform data collecting process 162, device-side advertisement API 32may include program code that invokes functionality of browser 28 toretrieve end user device properties 163. For example, device-sideadvertisement API 32 may include program code written in HTML5 and/orJavaScript that is interpreted by an HTML5/JavaScript interpreter 28 aof browser 28. The program code may invoke functionality of browser 28that can retrieve end user device properties 163. By way of example, enduser device 16 may include an operating system 168 that exposes APIsaccessible by browser 28 to obtain various system properties, such asbattery level of end user device 16, WiFi connectivity of end userdevice 16, audio or video playback settings of end user device 16, andother properties. Alternatively, browser 28 may access hardware 170 (orsoftware-accessible interfaces exposed by hardware 170, such as devicedrivers) to obtain end user device properties. In still otheralternatives, browser 28 may access APIs exposed by other softwareapplications 172 loaded on end user device to obtain end user deviceproperties 163. Generally, end user device properties 163 may includeany hardware-measurable or software-measurable properties of end userdevice 16, and all such properties are within the scope of the presentdisclosure.

Examples of end user device properties 163 collected during datacollecting process 162 may include properties corresponding toattributes for Criteria Set Three 15 c, such as those set forth in Table3 below. End user device properties 163 are graphically depicted in FIG.6 as a box with vertically oriented lines, and may be denoted as d₁, . .. , d_(j). Browser 28 transmits end user device properties 163 todevice-side advertisement API 32.

TABLE 3 Measured end user device properties Measured latitude andlongitude Measured video player-size Measured video player resolutionDetected parent URL or Domain list for content 24 Detected WiFiconnectivity Measured Bandwidth Measured battery level Detected audiocapabilities Detected headphone connectivity Detection on whether thedevice is plugged into an electric socket for charging Historicallatitude and longitude information

Because device-side advertisement API 32 is able to access end userdevice properties 163, video advertising system 10 has additionalcriteria, beyond what is used by DSP 20, for selecting advertisingcampaigns most suitable for end user device 16. Because these selectionsare driven by actual, measured properties of end user device 16, theyare less prone to error or fraud, and help ensure that advertiser 12 isreceiving the type of advertising placement that advertiser 12 desires.The data collecting process 162 may include several different processesor worker threads operating in parallel. For example, the datacollecting process 162 may include multiple data collections paths,which may have different levels of priority. For example, a fast datacollection path may collect critical criteria and a slower datacollection path may collect secondary criteria, and multiple differentdata collection paths may operate in parallel. Critical criteria may bedefined by a user. For example, a user may only wish to display videoadvertisements on a large video player and may prefer high bandwidth, inwhich case, the user may make large video player a critical criteria,and make high bandwidth a secondary criteria.

As device-side advertisement API 32 collects end user device properties,it may also initiates advertisement selection process 164. FIG. 7 showsan advertisement selection process 164 in accordance with the presentdisclosure. Advertisement selection process 164 begins with collectingoperation 171, in which device-side advertisement API 32 collectsrelated advertising campaign information. As previously explained inconnection with FIG. 5, related advertising campaign information mayinclude a list of related advertising campaigns 136, which includesadvertising campaigns that have attributes for Criteria Set One 15 a andCriteria Set Two 15 b that match those of winning advertising campaign7. As also previously explained, related advertising campaigninformation may include targeting criteria 15 for each of the relatedadvertising campaigns 136. The related advertising campaign informationwas transmitted to device-side advertisement API 32 in sending operation150 of FIG. 5, and as such is available for use by device-sideadvertisement API 32 in collecting operation 171 of FIG. 7.

Advertisement selection process 164 may proceed to comparing operation173, in which device-side advertisement API 32 compares attributes ofCriteria Set Three 15 c of related advertising campaigns 1, 6, 7, 8, 11to measured end user device properties 163. As explained, end userdevice properties 163 may be retrieved from browser 28 as part of datacollecting process 162, shown in FIG. 6.

In identifying operation 174, device-side advertisement API 32identifies advertising campaigns that have attributes for Criteria SetThree 15 c that align with end user device properties 163. For example,if advertising campaign 8 has an attribute for Criteria Set Three 15 cspecifying a high bandwidth connection, but end user device properties163 indicate that end user device 16 does not have a high bandwidthconnection, advertising campaign 8 may be ruled out. Likewise, ifadvertising campaign 11 has an attribute for Criteria Set Three 15 cspecifying a certain range for latitudinal and longitudinal location,but end user device properties 163 indicate that end user device 16 hasa latitudinal and longitudinal location outside that range, advertisingcampaign 11 may be ruled out. In this illustrative example, advertisingcampaign 1 and advertising campaign 6 have attributes for Criteria SetThree 15 c that align with end user device properties 163, as suggestedby the use of boxes with similarly oriented vertical lines.

Thus, even though advertising campaign 7 was selected by DSP 20 as awinning advertising campaign, device-side advertisement API 32 canexpand a search for an advertising campaign to other, relatedadvertising campaigns. Device-side advertisement API 32 can improve onthe selection of DSP 20 by comparing targeting criteria 15 of relatedadvertising campaigns to end user device properties 163, and select anadvertising campaign better suited for end user device 16.

Advertisement selection process 164 may proceed to operation 176, inwhich device-side advertisement API 32 determines whether suitableadvertisements were identified by identifying operation 174. In thisillustrative example, two advertising campaigns 1, 6 were identified. Insuch scenarios, advertisement selection process 164 proceeds to scoringoperation 178, which scores each of the identified advertising campaigns1, 6, and selecting operation 180, which selects the highest scoringadvertising campaign. Scoring operation 178 and selecting operation 180will be discussed in more detail in connection with FIG. 8.

In other scenarios, there may not be advertising campaigns that haveattributes for Criteria Set Three 15 c aligning with end user deviceproperties 163. In such scenarios, advertisement selection process 164may proceed to operation 184, which collects a list of defaultadvertisements. As previously explained, a list of defaultadvertisements 140 were collected by advertisement server 30, as shownin FIG. 5, and transmitted to device-side advertisement API 32.

If multiple default advertisements exist, advertisement selectionprocess 164 may proceed to scoring operation 178 and selecting operation180, which will be discussed in more detail in connection with FIG. 8.If no default advertisements exist, device-side advertisement API 32 mayelect to sell the advertising opportunity to another buyer. To sell theadvertising opportunity, advertisement selection process 164 may invokeoperation 188, in which device-side advertisement API 32 calls alternateSSP 49 (shown in FIG. 1A) and communicates that the advertisingopportunity is available. In another example embodiment, if no defaultadvertisement exists, the device-side advertisement API 32 may elect toabort the advertising opportunity. For example, when no suitableadvertisements were identified by identifying operation 174 due to somecritical criteria not being fulfilled, the winning advertising campaignand all other advertising campaigns may be aborted or withdrawn. In anexample embodiment, an advertising campaign is aborted because criticaluser device properties are not able to be confirmed within apredetermined period of time (e.g., 500 msec). For example, criticalcriteria (e.g., large video player) may be obtained using a fast datacollection path, while other non-critical criteria (e.g., highbandwidth) may be obtained using a slower data collection path. If thedevice-side advertisement API 32, using a fast data collection path,cannot confirm that the user device has a large video player in 500msec, then the advertisement campaign may be aborted or withdrawn. Thus,device-side advertisement API 32 may advantageously abort anyadvertising campaign based on erroneous or fraudulent declared data(e.g., large video player).

FIG. 8 shows a scoring operation 178 and selecting operation 180 inaccordance with the present disclosure. Scoring operation 178 andselecting operation 180 use disambiguation criteria to determine whichof multiple suitable advertising campaigns should be selected fordisplay on end user device 16. As explained in connection with FIG. 4,in certain implementations, disambiguation criteria may be CMP or marginCPM. In such implementations (not shown in FIG. 8), scoring operation178 may sort advertising campaigns according to CMP or margin CPM, asappropriate, and selecting operation 180 may select the advertisingcampaign with most favorable CPM or margin CPM metrics.

Alternatively, as was explained in connection with FIG. 4,disambiguation criteria may include predictor weights selected based onmachine learning techniques. FIG. 8 shows scoring operation 178 whenimplemented with predictor weights. Scoring operation 178 begins withoperation 190, in which advertising campaigns are received. In theillustrative example of FIG. 7, advertising campaign 1 and advertisingcampaign 6 are received for scoring. More generally, and as shown inFIG. 8, receiving operation 190 may receive K advertising campaigns.

In operation 192, device-side advertisement API 32 assembles end userdevice properties 163, denoted as d_(j). In operation 194, device-sideadvertisement API 32 assembles predictor weights w_(k,j) for eachadvertising campaign k. Predictor weights w_(k,j) for a givenadvertising campaign k can be determined according to the predictorweight selection process 110, discussed in connection with FIG. 4.

In operation 196, device-side advertisement API 32 computes a scoreS_(k) for each advertising campaign k. The score may be computed as thesum of the products of each predictor weight w_(k,j) and a correspondingend user device property d_(j). Scores S_(k) may optionally be boostedfor certain advertising campaigns k based on criteria of interest. Forexample, in operation 198, a delivery weight D_(k) is added to the scoreS_(k), and in operation 202, a margin weight M_(k) is added to the scoreS_(k). These weights may boost scores for advertising campaigns thathave not been delivering according to expectations, or that generatehigher margins. The resulting scores S_(k) are sorted in operation 204,after which selecting operation 180 selects the highest scoringadvertisement.

Returning to FIG. 6, in addition to advertisement selection process 164and data collecting process 162 already described, device-sideadvertisement API 32 also generates viewability measuring process 166.Viewability measuring process 166 may measure the portion of a videoadvertisement that is viewable to a user. Typically, when an end userloads a content page containing a video, the user may scroll verticallyor laterally to different locations on the content page. At times duringthis scrolling, portions of the video may fall outside the viewable areaof the content page. Video advertising system 10 measures what portionof the video is viewable.

Viewability measurements may be advantageous for a number of reasons.For one, viewability measurements provide advertiser 12 with informationon the effectiveness of a video advertisement. For another, viewabilitystatistics collected over time can provide advertiser 12 with usefulinformation on its advertising campaigns. For yet another, videoadvertising system 10 may take actions on end user device 16 based onviewability measurements. For example, as will be explained below, videoadvertising system 10 may pause a video advertisement when apre-determined threshold of the video advertisement is not viewable dueto user scrolling, and may resume the video advertisement when the userscrolls back as to reveal more of the video advertisement. This maypromote user engagement with the video advertisement, and ensure thatadvertiser 12 does not expend resources on a video advertisement that auser does not see.

FIG. 9 illustrates a viewability measuring process 166 in accordancewith the present disclosure. Generally, there are certain situations inwhich device-side advertisement API 32 can directly anddeterministically measure how much of a video is viewable, and othersituations in which direct and deterministic measurements areunavailable. For example, deterministic measurements are available whenvideo is rendered in Friendly iFrames, but may be unavailable when videois rendered in unFriendly iFrames. An inline frame (e.g., iFrame) mayrefer to a programmatic element that sets off a portion of a contentpage for rendering certain content. Inline frames may be used, forexample, by a web browser on a web page or web-based application. Also,inline frames may be used other user interfaces or in an application. AFriendly iFrame may refer to an iFrame having content that has access toor can manipulate content appearing elsewhere on the content page,outside the Friendly iFrame. An unFriendly iFrame, on the other hand,may refer to an iFrame having content that cannot access or manipulatecontent appearing elsewhere on the content page. For the case ofunFriendly iFrames, browser 28 may block access to dimensional metricsrequired to directly measure which portions of a video are viewable.

Viewability measuring process 166 is able to provide viewabilitymeasurements in both situations. As shown in FIG. 9, viewabilitymeasuring process 166 begins with operation 210, which determineswhether a video advertisement will be rendered in an environment wheredirect measurement is possible, such as in a Friendly iFrame, or in anenvironment where direct measurement is unavailable, such as anunFriendly iFrame. If the video advertisement will be rendered in aFriendly iFrame, viewability measuring process 166 proceeds to geometricdetermination process 212, in which device-side advertisement API 32computes a direct, geometric determination for viewability. In operation214, the viewability measurement may be output. Geometric determinationprocess 212 is discussed in more detail in FIG. 10.

If instead the video advertisement will be rendered in an environmentwhere direct measurement is unavailable, such as an unFriendly iFrame,viewability measuring process 166 proceeds to viewability predictionoperation 216, which computes a viewability prediction based onstatistical inferences. The statistical inferences are based onpredictors that will be described in more detail below. In operation218, the viewability measurement may be output. Viewability predictionoperation 216 is discussed in more detail in FIG. 11.

The statistical inferences used in viewability prediction operation 216are based on machine learning techniques driven by training data andtest data. Training data and test data may be collected when the videois being rendered in environments where direct measurements areavailable, such as in Friendly iFrames. In such scenarios, videoadvertising system 10 has access to direct measurements of actualviewability, and can also collect direct measurements of otherpredictors, as will be explained below. Thus, where video is beingrendered in Friendly iFrames, viewability measuring process 166 not onlytakes direct viewability measurements using geometric determinationprocess 212, but performs operations 220, 222, 224 that implementmachine learning techniques to generate a prediction algorithm. Thegenerated prediction algorithm can be applied by viewability predictionoperation 216 in situations where video advertising is being rendered inunFriendly iFrames.

FIG. 10 shows a geometric determination process 212 in accordance withthe present disclosure, in which device-side advertisement API 32determines the viewability of video rendered in Friendly iFrames. FIG.10 shows a content page 230 containing a video 232 and a viewport 234.Viewport 234 represents the portion of content page 230 that a user canview, which may change based on the user's scrolling practices.

A portion 232 a of video 232 is not viewable to the user, and a portion232 b is viewable to the user. Geometric determination process 212 maybegin with operation 240, in which device-side advertisement API 32determines a height 234 a, width 234 b, and area (height×width) ofviewport 234.

In operation 242, device-side advertisement API 32 recursivelydetermines bounding rectangles for all frames that enclose video 232.For example, JavaScript function getClientBoundingRect may be used. Inoperation 244, device-side advertisement API 32 determines a top-leftcoordinate 232 c of video 232 relative to viewport 234, where thetop-left coordinate of viewport 234 may be designated as an origin (0,0)point. In determining operation 246, device-side advertisement API 32determines a bottom-right coordinate 232 d of video 232 by adding videoheight 232 e and video width 232 f dimensions to top-left coordinate 232c. In operation 248, device-side advertisement API 32 determines aviewable portion 232 b of video 232. To determine an upper-leftcoordinate 232 g of viewable portion 232 b, device-side advertisementAPI 32 determines the maximum of top-left coordinate 232 c and the (0,0)origin point. To determine a lower-right coordinate 232 h of viewableportion 232 b, device-side advertisement API 32 determines the minimumof bottom-right coordinate 232 d of video 232, and bottom right 234 c ofviewport 234. As shown in FIG. 10, the maximum operation seeks a pointfurther towards the bottom-right, and the minimum operation seeks apoint further towards the top-left.

Geometric determination process 212 may proceed to operation 250, whichcomputes a viewability measurement by computing a viewable area of video232 (product of height and width of viewable portion 232 b), computing avideo surface area (product of video height 232 e and video width 232f), and taking a quotient.

As explained, where video advertising is being rendered in unFriendlyiFrames, device-side advertisement API 32 may not have access to thecoordinate-level information described above. Device-side advertisementAPI 32 may be restricted from determining any coordinates outside of theunFriendly iFrame. In such scenarios, device-side advertisement API 32may perform viewability prediction operation 216.

FIG. 11 illustrates a viewability prediction operation 216 in accordancewith the present disclosure. FIG. 11 shows a video 260 that is part of acontent page 262. Viewport 264 delineates a viewable portion of contentpage 262, and the portion of content page 262 visible within viewport264 is adjustable by a user through scrolling. In the illustratedconfiguration, a portion 260 a of video 260 lies outside viewport 264and is therefore not viewable, and a portion 260 b of video 260 iswithin viewport 264, and is therefore viewable.

Viewability prediction operation 216 predicts what portion of video 260is viewable by splitting video 260 into tiles 272, performing aprocessor-based operation on video content in each of the tiles 272,measuring how the processor-based operation impacts the refresh rate ofeach of the tiles 272, and predicting whether each of the tiles 272 isviewable based on the extent to which the refresh rate of each of thetiles 272 changed. The processor-based operation on video content willtypically slow down the refresh rate for viewable tiles 272 b, becauseprocessor resources are diverted from refreshing operations by theprocessor-based operations. However, for non-viewable tiles 272 a, therefresh rate may not slow down. The processor-based operation may not becarried out for non-viewable tiles 272 a because they are not actuallybeing rendered. As a result, the processor-based operation may notdivert resources away from refreshing operations, yielding no change tothe refresh rate.

Viewability prediction operation 216 begins with splitting operation270, which splits video 260 into tiles 272. Device-side advertisementAPI 32 then performs a series of operations on each tile 272 todetermine a refresh rate slowdown for each tile 272. In operation 274,device-side advertisement API 32 invokes a browser refresh callbackfunction, which issues a callback from browser 28 to device-sideadvertisement API 32 each time browser 28 refreshes a tile 272. Anexample of such a callback function is requestAnimationFrame. Inoperation 276, device-side advertisement API 32 uses feedback from thecallback function to measure a frames-per-second refresh rate for eachtile 272, which is measured by tracking the frequency with which thecallback function is invoked over time.

In operation 278, device-side advertisement API 32 displaysnear-transparent markings 279, such as the alphabet, on each tile 272.Near-transparent markings 279 may be selected to have a transparencylevel such that they are not viewable to an end user, and therefore donot distract from the video viewing experience. However,near-transparent markings 279 may be sufficiently opaque such that theprocessor of end user device 16 must perform processing to rendernear-transparent markings 279. In operation 280, device-sideadvertisement API 32 performs a processor-based operation onnear-transparent markings 279. In this illustrative example, operation280 blurs near-transparent text 279 to generate blurred text 281.Although this illustrative example uses blurring on near-transparentmarkings, any operation that makes use of computer processor resourcesof end user device 16 on a video, or portions of a video, may besuitable (e.g., dithering, undithering, blurring, unblurring). In anexample embodiment, the markings may be iteratively blurred andunblurred on a periodic basis (e.g., 100 msec, 200 msec, 6 frames, 12frames). For example, for a video played at 60 frames per second, ablurring operation may be applied to the markings for 6 frames, then themarkings have no operation applied for 6 frames, then an unblurringoperation may be applied to the markings for 6 frames, and then themarkings have no operation applied for 6 frames, and the periodicblurring and unblurring may iteratively occur to determine refresh ratesperiodically.

In operation 282, device-side advertisement API 32 again measures arefresh rate for each tile. For non-viewable tiles 272 a, there may beno appreciable change in the refresh rate. This is because browser 28need not actually render tiles that are not viewable to the user.However, for viewable tiles 272 b, there may be a slow-down in refreshrate. This is because processor-based operation 280 consumes CPUresources, diverting CPU resources away from the refreshing operationsand invocation of the callback function. In operation 284, device-sideadvertisement API 32 determines the refresh rate slowdown for each tile.For example, a viewable tile that had previously been refreshing at arate of 60 frames-per-second may now be refreshing at a rate of 55frames-per-second.

After determining a refresh rate slowdown for each tile, device-sideadvertisement API 32 predicts whether each tile 272 is viewable. To doso, device-side advertisement API 32 performs operation 290, in which itcollects predictors that can help generate statistical inferences onwhether each tile 272 is viewable. Predictors may include the computedrefresh rate slowdown, as well as end user device properties. End userdevice properties collected in operation 290 may include one or more ofend user device properties 163 gathered in collecting operation shown inFIG. 6, and are denoted in FIG. 11 as d_(j).

End user device properties 163 may be predictors of viewability becausethe amount of refresh rate slowdown that typically occurs when a tile272 is viewable may be impacted based on properties of end user device16. For example, if end user device 16 has a powerful, highly capableprocessor, the expected refresh rate slowdown for viewable tiles 272 bmay be lower in magnitude than where end user device 16 has a lesspowerful processor. As such, end user device properties 163 may befactored as predictors for viewability.

In operation 292, device-side advertisement API 32 may apply aprediction algorithm. The prediction algorithm used may be determinedusing machine learning techniques, as will be discussed in more detailin connection with FIG. 12. Generally, a prediction algorithm will inputpredictors, including the measured refresh rate slowdown for each tileand end user device properties d_(j), and output an inference on whetherthat tile 272 is viewable.

In operation 294, device-side advertisement API 32 may compute aviewability measurement by adding the number of tiles 272 that wereinferred to be viewable and dividing by the total number of tiles 272,yielding a prediction on the percentage of video 260 that is viewable.If the prediction algorithm has been suitably refined through machinelearning techniques (as will be discussed in connection with FIG. 12),device-side advertisement API 32 will generate statistical inferencesthat non-viewable tiles 272 a are not viewable to a user, and thatviewable tiles 272 b are viewable to a user. For partially viewabletiles 272 c, a refined prediction algorithm may have difficultyinferring whether tiles 272 c are viewable or not viewable, owing to thefact that they are only partially viewable. The prediction algorithm mayinfer that some of tiles 272 c are viewable and others are not viewable,and any potential error in the computed viewability measurement due topartially viewable tiles 272 c may be minimal.

In alternative implementations, viewability prediction operation 216 maydo more than simply infer whether each of the tiles 272 is viewable ornot viewable. Viewability prediction operation 216 may further assesswhat percentage of each of the tiles 272 is viewable or not viewable.Thus, for partially viewable tiles 272 c, viewability predictionoperation 216 may infer a percentage for each of tiles 272 c that isviewable. The prediction algorithm may be configured to infer that agreater percentage of a partially viewable tile 272 c is viewable wherethe refresh rate slowdown for tile 272 c is larger in magnitude.Viewability prediction operation 216 may then compute an overallviewability measurement by averaging viewability percentage inferencesfor each of tiles 272.

In still other implementations, viewability prediction operation 216 maynot split video 260 into tiles 272 at all. Instead, viewabilityprediction operation 216 may assess an overall refresh rate slowdown forvideo 260 in its entirety, and correlate the extent of refresh rateslowdown with a viewability percentage inference.

FIG. 12 shows how device-side advertisement API 32 generates theprediction algorithm or prediction model of FIG. 11. FIG. 12 showsoperations 220, 222, 214, and 224 of FIG. 9 in more detail. Device-sideadvertisement API 32 generates the prediction algorithm using machinelearning techniques, including by collecting training data and testingdata from scenarios where device-side advertisement API 32 directlymeasures viewability of videos.

In operation 220, device-side advertisement API 32 collects predictordata. As explained, predictors include measurements on refresh rateslowdown for each tile 272, and end user device properties d_(j). Thus,in operation 302, device-side advertisement API 32 splits a video intotiles and determines a refresh rate slowdown rate for each tile, usingsimilar methodology to what was described in connection with FIG. 11. Inaddition, in operation 304, device-side advertisement API 32 collectsend user device properties d_(j).

In operation 222, the collected predictors are stored. In addition,operation 222 collects and stores actual viewability measurements, whichare generated by geometric determination process 212. The predictors andactual viewability measurements are transmitted to prediction algorithmgenerating process 224.

To generate a prediction algorithm or prediction model, predictionalgorithm generating process 224 may perform operation 306, in which itdivides the data it received into a training data set and a testing dataset. In operation 308, prediction algorithm generating process 224 usesthe training data to generate parameter values for a predictionalgorithm that can map a given set of predictors into an inference onwhether a video tile having those predictors is likely viewable or notviewable.

In operation 310, prediction algorithm generating process 224 appliesthe generated prediction algorithm to testing data, and in operation 312assesses the effectiveness of the prediction algorithm. If theprediction algorithm is not sufficiently effective, prediction algorithmgenerating process 224 performs refining operation 314, which iteratesprediction algorithm generating process 224 through operations 310 and312 until the prediction algorithm is sufficiently effective.

After the prediction algorithm is sufficiently effective, predictionalgorithm generating process 224 proceeds to operation 316, in which itselects the result as the prediction algorithm to be used by device-sideadvertisement API 32 in scenarios where videos are being rendered inunFriendly iFrames.

Returning to FIG. 6, after performing viewability measuring process 166,device-side advertisement API 32 may take action on end user device 16based on the measured viewability. For example, FIG. 6 shows exemplaryoperation 167, in which device-side advertisement API 32 pauses or playsa video advertisement depending on how much of the video advertisementis viewable.

FIGS. 13A-C illustrate the process by which a device-side advertisementAPI 32 pauses or plays a video advertisement in accordance with thepresent disclosure. FIGS. 13A-C show a content page 350 having a video352. Content page 350 is rendered on an end user device 16 having abrowser viewport 354. In FIG. 13A, a majority of video 352 is viewablewithin viewport 354, and video 352 plays. In FIG. 13B, the end user hasscrolled down on content page 350 such that a majority of video 352 isno longer viewable. In response, device-side advertisement API 32 pausesvideo 352. In FIG. 13C, the end user has scrolled back up on contentpage 350, such that a majority of video 352 is viewable again. Inresponse, device-side advertisement API 32 resumes playback of video352. Commands to play or pause video 352 may be sent to browser 28through HTML5 and/or JavaScript comments.

Although the example above was with reference to pausing and resumingvideo playback, other actions are also within the scope of the presentdisclosure. For example, device-side advertisement API 32 may restartvideo 352 when the end user scrolls back up on content page 350, orselect a different advertising campaign when the end user scrolls awayfrom video 352.

As summarized above, and with reference to FIG. 6, device-sideadvertisement API 32 generates parallel processes in which it collectsend user device properties 163, selects a video advertisement todisplay, and measures viewability of the video advertisement.Device-side advertisement API 32 may then proceed to displayingoperation 182. In this illustration, advertising campaign 1 received ahigher score than advertising campaign 7, and is therefore displayed onend user device 16.

In certain implementations, the media content file 4 for advertisingcampaign 1 (i.e., the video content file) is stored on a separateserver, such as advertisement asset server 360. Device-sideadvertisement API 32 may query advertisement asset server 360 for theappropriate media content file 4, which is then displayed on end userdevice 16.

In certain implementations, browser 28 may have a native video player 29capable of processing and rendering media content file 4. In instanceswhere browser 28 may not have a suitable codec for media content file 4,device-side advertisement API 32 and/or browser 28 may invoke othersoftware, such as a separate video player 35. In certain usage scenarioswhere browser 28 does not have a suitable codec for playing mediacontent file 4 using HTML5/Javascript functionality, device-sideadvertisement API 32 may call a Flash-based API 36, which may in turninvoke another video player 35, which may be a Flash player.

In addition to displaying video advertisements, device-sideadvertisement API 32 also collects and sends data to a data warehouse96. FIG. 14 shows a collecting operation 356 in accordance with thepresent disclosure. In operation 358, device-side advertisement API 32may collect tracking pixel data. In operation 361, device-sideadvertisement API 32 may collect end user device properties 163. Inoperation 362, device-side advertisement API 32 may collect viewabilitymeasurements. In certain implementations, viewability measurements maybe collected up to four times per second. Device-side advertisement API32 may also collect pause and resume events that take place whendevice-side advertisement API 32 pauses or resumes playback of a videodue to viewability.

Returning to FIG. 6, in operation 358, device-side advertisement API 32sends the collected data to data warehouse 96. Once in data warehouse96, the data may be used to provide reports to advertiser 12 viaadvertising console 18, to drive machine learning processes as discussedabove, or otherwise be used for analytics.

End user device 16 may be a workstation, personal computer, laptop,tablet computer, mobile computing device, or smartphone. End user device16 may include a processor and computer-readable memory on which isstored computer code that can be loaded into the processor for executionduring runtime. The computer code stored on end user device 16 mayinclude compiled binary files for browser 28, operating system 168, orother software applications 172.

Although aspects of the present disclosure were described with referenceto video advertisements, it should be understood that the systems,components, and methodologies described above may be applied to videodelivery in general, and are not limited to video advertisements. Thesystems, components, and methodologies in accordance with the presentdisclosure may provide benefits for video selection, targeting,delivery, display, data collection, and data analysis for any type ofdigital video.

Moreover, systems, components, and methodologies in accordance with thepresent disclosure may also be applied to other forms of media content,such as audio content, image content, or textual content. Providers ofsuch content may benefit from content selection, targeting, delivery,display, data collection, and data analysis systems, components, andmethodologies disclosed above.

End user device 16 may include hardware or software componentspertaining to attributes for Criteria Set Three 15 c, as disclosedabove. For example, end user device 16 may include a GPS or otherlocation-tracking module, video playback software supporting varioussizes and resolutions, a WiFi chipset, a cellular connectivity chipset,a battery, a headphone jack for emitting audio signals, a power inputfor receiving external power, and other hardware or software components.

As explained, device-side advertisement API 32 may include HTML5 and/orJavaScript program code that is interpreted by browser 28, which mayinclude an HTML5/JavaScript interpreter 28 a. Executable code forrunning browser 28, including HTML5/JavaScript interpreter 28 a, may beloaded into the processor of end user device 16 during runtime. End userdevice 16 may include a separate graphics processor to facilitaterendering of animated or graphical content. End user device 16 mayinclude a display screen, such as a touch sensitive display screen.

Advertising console 18 may be provided as software implemented in sourcecode that is compiled into executable code. Advertising console 18 maybe provided on a computer having a processor and a memory, with theexecutable code for advertising console 18 loaded into the processor forexecution at runtime. Advertising console 18 may also be provided on aserver, such as a web server that permits advertiser 12 to access itsfunctionality over the Internet.

Functionality of advertisement server 30 be provided as softwareimplemented in source code that is compiled into executable code.Advertisement server 30 may include a processor and a memory, withexecutable code loaded into the processor for execution at runtime.

Analytics module 94 may be provided as software implemented in sourcecode that is compiled into executable code. Analytics module 94 may beprovided on a computer having a processor and a memory, with theexecutable code for analytics module 94 loaded into the processor forexecution at runtime. Analytics module 94 may also be provided on aserver, such as a web server that permits other components, such asadvertisement server 30 and advertising console 18, to access itsfunctionality over the Internet.

Data warehouse 96 and advertisement asset server 360 may each beimplemented as a database stored on a database server having a processorand a memory. The databases may be implemented using any suitabledatabase environment, such as Oracle, DB2, SQL Server, or MongoDB.

Content 24 may include Internet webpage content, Internet-enabledapplications (e.g., from APPLE® App Store, GOOGLE® Play, WINDOWS® PhoneStore, BLACKBERRY® App World), streaming videos provided by streamingvideo sources, or other types of network-sourced content.

Video advertising in accordance with the present disclosure may berendered on a standalone basis within content, may be rendered pre-roll(i.e., prior to display of other video content), mid-roll (i.e., duringdisplay of other video content), or post-roll (i.e., after display ofother video content).

Aspects of the subject matter described herein may be useful alone or incombination with one or more other aspects described herein. Withoutlimiting the following description, in an exemplary aspect of thepresent disclosure, a method comprises: playing a video on a display;overlaying markings on the video while the video plays; at a first timewhile the video plays, measuring a first refresh rate of the video; at asecond time while the video plays, performing a first operation on themarkings; measuring a second refresh rate of the video at the secondtime; and determining an estimated area of the video displayed on thedisplay based on the first refresh rate and the second refresh rate. Inaccordance with another exemplary aspect of the present disclosure,which may be used in combination with the preceding aspect, the methodfurther comprises comparing the estimated area of the video displayed onthe display to a threshold area. In accordance with another exemplaryaspect of the present disclosure, which may be used in combination withany one or more of the preceding aspects, the method further comprisesresponsive to the estimated area of the video displayed on the displaybeing less than the threshold area, pausing the video. In accordancewith another exemplary aspect of the present disclosure, which may beused in combination with any one or more of the preceding aspects, themarkings include text. In accordance with another exemplary aspect ofthe present disclosure, which may be used in combination with any one ormore of the preceding aspects, the markings include at least one ofalphanumeric characters and symbols. In accordance with anotherexemplary aspect of the present disclosure, which may be used incombination with any one or more of the preceding aspects, determiningthe estimated area of the video displayed on the display includescomparing the first refresh rate to the second refresh rate. Inaccordance with another exemplary aspect of the present disclosure,which may be used in combination with any one or more of the precedingaspects, the first operation includes blurring. In accordance withanother exemplary aspect of the present disclosure, which may be used incombination with any one or more of the preceding aspects, the firstoperation includes dithering. In accordance with another exemplaryaspect of the present disclosure, which may be used in combination withany one or more of the preceding aspects, the method further comprises:performing a second operation on the markings while the video plays; andmeasuring a third refresh rate of the video at the third time, whereinthe estimated area of the video displayed on the display at the thirdtime is determined based on the first refresh rate, the second refreshrate, and the third refresh rate. In accordance with another exemplaryaspect of the present disclosure, which may be used in combination withany one or more of the preceding aspects, further comprises: comparingthe estimated area of the video displayed on the display at the thirdtime to the threshold area; and responsive to the estimated area of thevideo displayed on the display being greater than the threshold area,resume playing the video. In accordance with another exemplary aspect ofthe present disclosure, which may be used in combination with any one ormore of the preceding aspects, the second operation includes at leastone of unblurring and undithering. In accordance with another exemplaryaspect of the present disclosure, which may be used in combination withany one or more of the preceding aspects, the markings are nearlytransparent. In accordance with another exemplary aspect of the presentdisclosure, which may be used in combination with any one or more of thepreceding aspects, the markings are substantially invisible to a user.In accordance with another exemplary aspect of the present disclosure,which may be used in combination with any one or more of the precedingaspects, determining the estimated area of the video displayed on thedisplay is based on a refresh rate slowdown. In accordance with anotherexemplary aspect of the present disclosure, which may be used incombination with any one or more of the preceding aspects, the videoincludes a plurality of tiles, and the markings are overlaid on thevideo in a first tile of the plurality of tiles on the video. Inaccordance with another exemplary aspect of the present disclosure,which may be used in combination with any one or more of the precedingaspects, additional markings are overlaid on a second tile of theplurality of tiles on the video. In accordance with another exemplaryaspect of the present disclosure, which may be used in combination withany one or more of the preceding aspects, determining the estimated areaof the video displayed on the display is based on a plurality of refreshrates from a plurality of different tiles on the video. In accordancewith another exemplary aspect of the present disclosure, which may beused in combination with any one or more of the preceding aspects, thefirst refresh rate is greater than the second refresh rate when at leasta first area of the video is displayed on the display. In accordancewith another exemplary aspect of the present disclosure, which may beused in combination with any one or more of the preceding aspects, therefresh rate is measured in frames per second. In accordance withanother exemplary aspect of the present disclosure, which may be used incombination with any one or more of the preceding aspects, the secondtime is at least 100 milliseconds after the first time. In accordancewith another exemplary aspect of the present disclosure, which may beused in combination with any one or more of the preceding aspects, thethreshold area is 50%. In accordance with another exemplary aspect ofthe present disclosure, which may be used in combination with any one ormore of the preceding aspects, the video is played in an inline frame.In accordance with another exemplary aspect of the present disclosure,which may be used in combination with any one or more of the precedingaspects, the inline frame is an unfriendly iFrame. In accordance withanother exemplary aspect of the present disclosure, which may be used incombination with any one or more of the preceding aspects, the video isdisplayed in a Flash player. In accordance with another exemplary aspectof the present disclosure, which may be used in combination with any oneor more of the preceding aspects, the video is displayed in native videoplayer. In accordance with another exemplary aspect of the presentdisclosure, which may be used in combination with any one or more of thepreceding aspects, the native video player uses at least one of HTML5and JavaScript. In accordance with another exemplary aspect of thepresent disclosure, which may be used in combination with any one ormore of the preceding aspects, the inline frame is a friendly iFrame. Inaccordance with another exemplary aspect of the present disclosure,which may be used in combination with any one or more of the precedingaspects, the method further comprises executing a geometricdetermination of the estimated area of the video displayed in the inlineframe. In accordance with another exemplary aspect of the presentdisclosure, which may be used in combination with any one or more of thepreceding aspects, the video is displayed in a viewport, which includesa viewable portion of content that is adjustable through scrolling. Inaccordance with another exemplary aspect of the present disclosure,which may be used in combination with any one or more of the precedingaspects, the estimated area of the video displayed on the displaychanges based on a user scrolling at least one of vertically andlaterally within the viewport.

In accordance with another exemplary aspect of the present disclosure,which may be used in combination with any one or more of the precedingaspects, a client comprises: a display; and a processor configured tocontrol the display to: play a video on the display; display markingsoverlaid on the video while the video plays; at a first time while thevideo plays, measure a first refresh rate of the video; at a second timewhile the video plays, perform a first operation on the markings; andmeasure a second refresh rate of the video at the second time. Inaccordance with another exemplary aspect of the present disclosure,which may be used in combination with any one or more of the precedingaspects, the processor sends the first refresh rate and the secondrefresh rate to a server. In accordance with another exemplary aspect ofthe present disclosure, which may be used in combination with any one ormore of the preceding aspects, the server determines an estimated areaof the video displayed on the display based on the first refresh rateand the second refresh rate. In accordance with another exemplary aspectof the present disclosure, which may be used in combination with any oneor more of the preceding aspects, determining the estimated area of thevideo displayed on the display includes comparing the first refresh rateto the second refresh rate. In accordance with another exemplary aspectof the present disclosure, which may be used in combination with any oneor more of the preceding aspects, the server sends the estimated area ofthe video displayed on the display to the client. In accordance withanother exemplary aspect of the present disclosure, which may be used incombination with any one or more of the preceding aspects, determiningthe estimated area of the video displayed on the display is based on arefresh rate slowdown. In accordance with another exemplary aspect ofthe present disclosure, which may be used in combination with any one ormore of the preceding aspects, the processor compares the estimated areaof the video displayed on the display to a threshold area. In accordancewith another exemplary aspect of the present disclosure, which may beused in combination with any one or more of the preceding aspects,responsive to the estimated area of the video displayed on the displaybeing less than the threshold area, the processor pauses the video. Inaccordance with another exemplary aspect of the present disclosure,which may be used in combination with any one or more of the precedingaspects, the processor performs a second operation on the markings whilethe video plays and measures a third refresh rate of the video at thethird time, wherein an estimated area of the video displayed on thedisplay at the third time is determined based on the first refresh rate,the second refresh rate, and the third refresh rate. In accordance withanother exemplary aspect of the present disclosure, which may be used incombination with any one or more of the preceding aspects, the processorcompares the estimated area of the video displayed on the display at thethird time to the threshold area, and responsive to the estimated areaof the video displayed on the display being greater than the thresholdarea, resumes playing the video. In accordance with another exemplaryaspect of the present disclosure, which may be used in combination withany one or more of the preceding aspects, the second operation includesat least one of unblurring and undithering. In accordance with anotherexemplary aspect of the present disclosure, which may be used incombination with any one or more of the preceding aspects, the markingsinclude text. In accordance with another exemplary aspect of the presentdisclosure, which may be used in combination with any one or more of thepreceding aspects, the markings include at least one of alphanumericcharacters and symbols. In accordance with another exemplary aspect ofthe present disclosure, which may be used in combination with any one ormore of the preceding aspects, the first operation includes blurring. Inaccordance with another exemplary aspect of the present disclosure,which may be used in combination with any one or more of the precedingaspects, the first operation includes dithering. In accordance withanother exemplary aspect of the present disclosure, which may be used incombination with any one or more of the preceding aspects, the markingsare nearly transparent. In accordance with another exemplary aspect ofthe present disclosure, which may be used in combination with any one ormore of the preceding aspects, the markings are substantially invisibleto a user. In accordance with another exemplary aspect of the presentdisclosure, which may be used in combination with any one or more of thepreceding aspects, the video includes a plurality of tiles, and themarkings are overlaid on the video in a first tile of the plurality oftiles on the video. In accordance with another exemplary aspect of thepresent disclosure, which may be used in combination with any one ormore of the preceding aspects, additional markings are overlaid on asecond tile of the plurality of tiles on the video. In accordance withanother exemplary aspect of the present disclosure, which may be used incombination with any one or more of the preceding aspects, determiningan estimated area of the video displayed on the display is based on aplurality of refresh rates from a plurality of different tiles on thevideo. In accordance with another exemplary aspect of the presentdisclosure, which may be used in combination with any one or more of thepreceding aspects, the first refresh rate is greater than the secondrefresh rate when at least a first area of the video is displayed on thedisplay. In accordance with another exemplary aspect of the presentdisclosure, which may be used in combination with any one or more of thepreceding aspects, the refresh rate is measured in frames per second. Inaccordance with another exemplary aspect of the present disclosure,which may be used in combination with any one or more of the precedingaspects, the second time is at least 100 milliseconds after the firsttime. In accordance with another exemplary aspect of the presentdisclosure, which may be used in combination with any one or more of thepreceding aspects, the threshold area is 50%. In accordance with anotherexemplary aspect of the present disclosure, which may be used incombination with any one or more of the preceding aspects, the video isplayed in an inline frame. In accordance with another exemplary aspectof the present disclosure, which may be used in combination with any oneor more of the preceding aspects, wherein the inline frame is anunfriendly iFrame. In accordance with another exemplary aspect of thepresent disclosure, which may be used in combination with any one ormore of the preceding aspects, the video is displayed in a Flash player.In accordance with another exemplary aspect of the present disclosure,which may be used in combination with any one or more of the precedingaspects, the video is displayed in native video player. In accordancewith another exemplary aspect of the present disclosure, which may beused in combination with any one or more of the preceding aspects, thenative video player uses at least one of HTML5 and JavaScript. Inaccordance with another exemplary aspect of the present disclosure,which may be used in combination with any one or more of the precedingaspects, the inline frame is a friendly iFrame. In accordance withanother exemplary aspect of the present disclosure, which may be used incombination with any one or more of the preceding aspects, the processorexecutes a geometric determination of the estimated area of the videodisplayed in the inline frame. In accordance with another exemplaryaspect of the present disclosure, which may be used in combination withany one or more of the preceding aspects, the video is displayed in aviewport, which includes a viewable portion of content that isadjustable through scrolling. In accordance with another exemplaryaspect of the present disclosure, which may be used in combination withany one or more of the preceding aspects, an estimated area of the videodisplayed on the display changes based on a user scrolling at least oneof vertically and laterally within the viewport.

In accordance with another exemplary aspect of the present disclosure,which may be used in combination with any one or more of the precedingaspects, an apparatus comprises: a processor configured to: receive afirst refresh rate of a video, wherein the first refresh rate of thevideo is measured at a first time while the video plays; receive asecond refresh rate of the video, wherein the second refresh rate of thevideo is measured at a second time while the video plays and a firstoperation is performed on markings overlaying the video; determine anestimated area of the video displayed based on the first refresh rateand the second refresh rate; compare the estimated area of the videodisplayed on the display to a threshold area; and responsive to theestimated area of the video displayed on the display being less than thethreshold area, controlling playback of the video. In accordance withanother exemplary aspect of the present disclosure, which may be used incombination with any one or more of the preceding aspects, controllingplayback of the video includes pausing the video. In accordance withanother exemplary aspect of the present disclosure, which may be used incombination with any one or more of the preceding aspects, the markingsinclude text. In accordance with another exemplary aspect of the presentdisclosure, which may be used in combination with any one or more of thepreceding aspects, the markings include at least one of alphanumericcharacters and symbols. In accordance with another exemplary aspect ofthe present disclosure, which may be used in combination with any one ormore of the preceding aspects, determining the estimated area of thevideo displayed on the display includes comparing the first refresh rateto the second refresh rate. In accordance with another exemplary aspectof the present disclosure, which may be used in combination with any oneor more of the preceding aspects, the first operation includes blurring.In accordance with another exemplary aspect of the present disclosure,which may be used in combination with any one or more of the precedingaspects, the first operation includes dithering. In accordance withanother exemplary aspect of the present disclosure, which may be used incombination with any one or more of the preceding aspects, the processorreceives a third refresh rate of the video, wherein the third refreshrate of the video is measured at a third time while the video plays anda second operation is performed on the markings overlaying the video. Inaccordance with another exemplary aspect of the present disclosure,which may be used in combination with any one or more of the precedingaspects, the estimated area of the video displayed on the display at thethird time is determined based on the first refresh rate, the secondrefresh rate, and the third refresh rate. In accordance with anotherexemplary aspect of the present disclosure, which may be used incombination with any one or more of the preceding aspects, the estimatedarea of the video displayed on the display at the third time is comparedto the threshold area, and responsive to the estimated area of the videodisplayed on the display being greater than the threshold area, thevideo resumes playing. In accordance with another exemplary aspect ofthe present disclosure, which may be used in combination with any one ormore of the preceding aspects, the second operation includes at leastone of unblurring and undithering. In accordance with another exemplaryaspect of the present disclosure, which may be used in combination withany one or more of the preceding aspects, the markings are nearlytransparent. In accordance with another exemplary aspect of the presentdisclosure, which may be used in combination with any one or more of thepreceding aspects, the markings are substantially invisible to a user.In accordance with another exemplary aspect of the present disclosure,which may be used in combination with any one or more of the precedingaspects, determining the estimated area of the video displayed on thedisplay is based on a refresh rate slowdown. In accordance with anotherexemplary aspect of the present disclosure, which may be used incombination with any one or more of the preceding aspects, the videoincludes a plurality of tiles, and the markings are overlaid on thevideo in a first tile of the plurality of tiles on the video. Inaccordance with another exemplary aspect of the present disclosure,which may be used in combination with any one or more of the precedingaspects, additional markings are overlaid on a second tile of theplurality of tiles on the video. In accordance with another exemplaryaspect of the present disclosure, which may be used in combination withany one or more of the preceding aspects, determining the estimated areaof the video displayed on the display is based on a plurality of refreshrates from a plurality of different tiles on the video. In accordancewith another exemplary aspect of the present disclosure, which may beused in combination with any one or more of the preceding aspects, thefirst refresh rate is greater than the second refresh rate when at leasta first area of the video is displayed on the display. In accordancewith another exemplary aspect of the present disclosure, which may beused in combination with any one or more of the preceding aspects, therefresh rate is measured in frames per second. In accordance withanother exemplary aspect of the present disclosure, which may be used incombination with any one or more of the preceding aspects, the secondtime is at least 100 milliseconds after the first time. In accordancewith another exemplary aspect of the present disclosure, which may beused in combination with any one or more of the preceding aspects, thethreshold area is 50%. In accordance with another exemplary aspect ofthe present disclosure, which may be used in combination with any one ormore of the preceding aspects, the video is played in an inline frame.In accordance with another exemplary aspect of the present disclosure,which may be used in combination with any one or more of the precedingaspects, the inline frame is an unfriendly iFrame. In accordance withanother exemplary aspect of the present disclosure, which may be used incombination with any one or more of the preceding aspects, the video isdisplayed in a Flash player. In accordance with another exemplary aspectof the present disclosure, which may be used in combination with any oneor more of the preceding aspects, the video is displayed in native videoplayer. In accordance with another exemplary aspect of the presentdisclosure, which may be used in combination with any one or more of thepreceding aspects, the native video player uses at least one of HTML5and JavaScript. In accordance with another exemplary aspect of thepresent disclosure, which may be used in combination with any one ormore of the preceding aspects, the inline frame is a friendly iFrame. Inaccordance with another exemplary aspect of the present disclosure,which may be used in combination with any one or more of the precedingaspects, the processor executes a geometric determination of theestimated area of the video displayed in the inline frame. In accordancewith another exemplary aspect of the present disclosure, which may beused in combination with any one or more of the preceding aspects, thevideo is displayed in a viewport, which includes a viewable portion ofcontent that is adjustable through scrolling. In accordance with anotherexemplary aspect of the present disclosure, which may be used incombination with any one or more of the preceding aspects, the estimatedarea of the video displayed on the display changes based on a userscrolling at least one of vertically and laterally within the viewport.

In accordance with another exemplary aspect of the present disclosure,which may be used in combination with any one or more of the precedingaspects, a computer readable medium stores instructions which, whenexecuted by a processor, are configured to: play a video on a display;overlay markings on the video while the video plays; at a first timewhile the video plays, measure a first refresh rate of the video; at asecond time while the video plays, perform a first operation on themarkings; measure a second refresh rate of the video at the second time;and determine an estimated area of the video displayed on the displaybased on the first refresh rate and the second refresh rate. Inaccordance with another exemplary aspect of the present disclosure,which may be used in combination with any one or more of the precedingaspects, the processor is further configured to compare the estimatedarea of the video displayed on the display to a threshold area. Inaccordance with another exemplary aspect of the present disclosure,which may be used in combination with any one or more of the precedingaspects, the processor is further configured to, responsive to theestimated area of the video displayed on the display being less than thethreshold area, pause the video. In accordance with another exemplaryaspect of the present disclosure, which may be used in combination withany one or more of the preceding aspects, the markings include text. Inaccordance with another exemplary aspect of the present disclosure,which may be used in combination with any one or more of the precedingaspects, the markings include at least one of alphanumeric charactersand symbols. In accordance with another exemplary aspect of the presentdisclosure, which may be used in combination with any one or more of thepreceding aspects, determining the estimated area of the video displayedon the display includes comparing the first refresh rate to the secondrefresh rate. In accordance with another exemplary aspect of the presentdisclosure, which may be used in combination with any one or more of thepreceding aspects, the first operation includes blurring. In accordancewith another exemplary aspect of the present disclosure, which may beused in combination with any one or more of the preceding aspects, thefirst operation includes dithering. In accordance with another exemplaryaspect of the present disclosure, which may be used in combination withany one or more of the preceding aspects, the processor is furtherconfigured to: perform a second operation on the markings while thevideo plays; and measure a third refresh rate of the video at the thirdtime, wherein the estimated area of the video displayed on the displayat the third time is determined based on the first refresh rate, thesecond refresh rate, and the third refresh rate. In accordance withanother exemplary aspect of the present disclosure, which may be used incombination with any one or more of the preceding aspects, the processoris further configured to: compare the estimated area of the videodisplayed on the display at the third time to the threshold area; andresponsive to the estimated area of the video displayed on the displaybeing greater than the threshold area, resume playing the video. Inaccordance with another exemplary aspect of the present disclosure,which may be used in combination with any one or more of the precedingaspects, the second operation includes at least one of unblurring andundithering. In accordance with another exemplary aspect of the presentdisclosure, which may be used in combination with any one or more of thepreceding aspects, the markings are nearly transparent. In accordancewith another exemplary aspect of the present disclosure, which may beused in combination with any one or more of the preceding aspects, themarkings are substantially invisible to a user. In accordance withanother exemplary aspect of the present disclosure, which may be used incombination with any one or more of the preceding aspects, determiningthe estimated area of the video displayed on the display is based on arefresh rate slowdown. In accordance with another exemplary aspect ofthe present disclosure, which may be used in combination with any one ormore of the preceding aspects, the video includes a plurality of tiles,and the markings are overlaid on the video in a first tile of theplurality of tiles on the video. In accordance with another exemplaryaspect of the present disclosure, which may be used in combination withany one or more of the preceding aspects, additional markings areoverlaid on a second tile of the plurality of tiles on the video. Inaccordance with another exemplary aspect of the present disclosure,which may be used in combination with any one or more of the precedingaspects, determining the estimated area of the video displayed on thedisplay is based on a plurality of refresh rates from a plurality ofdifferent tiles on the video. In accordance with another exemplaryaspect of the present disclosure, which may be used in combination withany one or more of the preceding aspects, the first refresh rate isgreater than the second refresh rate when at least a first area of thevideo is displayed on the display. In accordance with another exemplaryaspect of the present disclosure, which may be used in combination withany one or more of the preceding aspects, the refresh rate is measuredin frames per second. In accordance with another exemplary aspect of thepresent disclosure, which may be used in combination with any one ormore of the preceding aspects, the second time is at least 100milliseconds after the first time. In accordance with another exemplaryaspect of the present disclosure, which may be used in combination withany one or more of the preceding aspects, the threshold area is 50%. Inaccordance with another exemplary aspect of the present disclosure,which may be used in combination with any one or more of the precedingaspects, the video is played in an inline frame. In accordance withanother exemplary aspect of the present disclosure, which may be used incombination with any one or more of the preceding aspects, the inlineframe is an unfriendly iFrame. In accordance with another exemplaryaspect of the present disclosure, which may be used in combination withany one or more of the preceding aspects, the video is displayed in aFlash player. In accordance with another exemplary aspect of the presentdisclosure, which may be used in combination with any one or more of thepreceding aspects, the video is displayed in native video player. Inaccordance with another exemplary aspect of the present disclosure,which may be used in combination with any one or more of the precedingaspects, the native video player uses at least one of HTML5 andJavaScript. In accordance with another exemplary aspect of the presentdisclosure, which may be used in combination with any one or more of thepreceding aspects, the inline frame is a friendly iFrame. In accordancewith another exemplary aspect of the present disclosure, which may beused in combination with any one or more of the preceding aspects, theprocessor is further configured to: execute a geometric determination ofthe estimated area of the video displayed in the inline frame. Inaccordance with another exemplary aspect of the present disclosure,which may be used in combination with any one or more of the precedingaspects, the video is displayed in a viewport, which includes a viewableportion of content that is adjustable through scrolling. In accordancewith another exemplary aspect of the present disclosure, which may beused in combination with any one or more of the preceding aspects, theestimated area of the video displayed on the display changes based on auser scrolling at least one of vertically and laterally within theviewport.

In accordance with another exemplary aspect of the present disclosure,which may be used in combination with any one or more of the precedingaspects, an apparatus comprises: means for playing a video; means foroverlaying markings on the video while the video plays; means formeasuring, at a first time while the video plays, a first refresh rateof the video; means for performing, at a second time while the videoplays, a first operation on the markings; means for measuring a secondrefresh rate of the video at the second time; and means for determiningan estimated area of the video displayed on the means for playing thevideo based on the first refresh rate and the second refresh rate.

In accordance with another exemplary aspect of the present disclosure,which may be used in combination with any one or more of the precedingaspects, a method comprises: receiving, from an advertiser, a pluralityof attribute selections of a plurality of targeting criteria that arerequired to be fulfilled by a user device to serve a video advertisementto the user device, the plurality of attribute selections including atleast a first attribute selection and a second attribute selection,wherein the second attribute selection relates to a measured first userdevice property; creating an advertising campaign including theplurality of targeting criteria based on the plurality of attributeselections, the plurality of targeting criteria including at least afirst targeting criteria corresponding to the first attribute selectionand a second targeting criteria corresponding to the second attributeselection; transmitting the first targeting criteria to a demand sideplatform, which provides a response based on the first targetingcriteria to a publisher server, which manages content to be displayed tothe user device, wherein the user device is notified by the publisherserver of a winning first advertising campaign that fulfils the firsttargeting criteria; reserving the second targeting criteria until afterthe user device is notified of the winning first advertising campaignthat fulfils the first targeting criteria; determining a plurality ofrelated advertising campaigns including the first targeting criteria andthe second targeting criteria, wherein each of the plurality of relatedadvertising campaigns are related to the winning first advertisingcampaign; and transmitting, to the user device, the plurality of relatedadvertising campaigns, wherein the user device measures the first userdevice property, compares the measured user device property to thesecond targeting criteria, and determines that the measured user deviceproperty fulfils the second targeting criteria of a second advertisingcampaign from the plurality of related advertising campaigns. Inaccordance with another exemplary aspect of the present disclosure,which may be used in combination with any one or more of the precedingaspects, the method further comprises receiving, from the user device, arequest to serve the second advertising campaign. In accordance withanother exemplary aspect of the present disclosure, which may be used incombination with any one or more of the preceding aspects, the methodfurther comprises transmitting, to the user device, the videoadvertisement, which corresponds to the second advertising campaign. Inaccordance with another exemplary aspect of the present disclosure,which may be used in combination with any one or more of the precedingaspects, the method further comprises transmitting a device-sideadvertisement API to the user device. In accordance with anotherexemplary aspect of the present disclosure, which may be used incombination with any one or more of the preceding aspects, thedevice-side advertisement API measures the first user device property,compares the measured user device property to the second targetingcriteria, and determines that the measured user device property fulfilsthe second targeting criteria of a second advertising campaign from theplurality of related advertising campaigns. In accordance with anotherexemplary aspect of the present disclosure, which may be used incombination with any one or more of the preceding aspects, the pluralityof attribute selections includes a third attribute selection and theplurality of targeting criteria includes a third targeting criteriacorresponding to the third attribute selection. In accordance withanother exemplary aspect of the present disclosure, which may be used incombination with any one or more of the preceding aspects, the methodfurther comprises transmitting the third targeting criteria with thefirst targeting criteria to the demand side platform, which provides theresponse based on the first targeting criteria and the third targetingcriteria to the publisher server, wherein the winning first advertisingcampaign fulfils the third targeting criteria. In accordance withanother exemplary aspect of the present disclosure, which may be used incombination with any one or more of the preceding aspects, the measureduser device property fulfils the second targeting criteria when themeasured user device property matches the second targeting criteria. Inaccordance with another exemplary aspect of the present disclosure,which may be used in combination with any one or more of the precedingaspects, the method further comprises setting a pointer to a defaultvideo advertisement, which is configured to be served responsive to themeasured user device property not fulfilling the second targetingcriteria of the winning advertising campaign and each respectiveadvertising campaign from the plurality of related advertisingcampaigns. In accordance with another exemplary aspect of the presentdisclosure, which may be used in combination with any one or more of thepreceding aspects, the method further comprises setting a URL to analternate publisher server, which is configured to be accessedresponsive to the measured user device property not fulfilling thesecond targeting criteria of the winning advertising campaign and eachrespective advertising campaign from the plurality of relatedadvertising campaigns. In accordance with another exemplary aspect ofthe present disclosure, which may be used in combination with any one ormore of the preceding aspects, the method further comprises settingquantitative goals relating to the advertising campaign. In accordancewith another exemplary aspect of the present disclosure, which may beused in combination with any one or more of the preceding aspects, themethod further comprises setting disambiguation criteria that are usedto score advertising campaigns. In accordance with another exemplaryaspect of the present disclosure, which may be used in combination withany one or more of the preceding aspects, the method further comprisessetting playback criteria. In accordance with another exemplary aspectof the present disclosure, which may be used in combination with any oneor more of the preceding aspects, the playback criteria requires thevideo advertisement to be paused when the video advertisement is outsideof a viewable portion of a content page. In accordance with anotherexemplary aspect of the present disclosure, which may be used incombination with any one or more of the preceding aspects, the pluralityof related advertising campaigns are assembled before the firsttargeting criteria are transmitted to the demand side platform. Inaccordance with another exemplary aspect of the present disclosure,which may be used in combination with any one or more of the precedingaspects, the plurality of related advertising campaigns are stored in acache. In accordance with another exemplary aspect of the presentdisclosure, which may be used in combination with any one or more of thepreceding aspects, the demand side platform identifies the winningadvertising campaign. In accordance with another exemplary aspect of thepresent disclosure, which may be used in combination with any one ormore of the preceding aspects, the method further comprises receiving arequest for a video advertisement corresponding to the winningadvertising campaign. In accordance with another exemplary aspect of thepresent disclosure, which may be used in combination with any one ormore of the preceding aspects, the method further comprises: retrievingrelated advertising campaign information; and packaging the relatedadvertising campaign information in a Video Ad Serving Template(VAST)/Video Player-Ad Interface Definition (VPAID) response. Inaccordance with another exemplary aspect of the present disclosure,which may be used in combination with any one or more of the precedingaspects, a VAST/VPAID compliant response includes a reference to adevice-side advertisement API. In accordance with another exemplaryaspect of the present disclosure, which may be used in combination withany one or more of the preceding aspects, the first targeting criteriaincludes a declared player size. In accordance with another exemplaryaspect of the present disclosure, which may be used in combination withany one or more of the preceding aspects, the first targeting criteriaincludes an specific operating system. In accordance with anotherexemplary aspect of the present disclosure, which may be used incombination with any one or more of the preceding aspects, the firsttargeting criteria includes a specific device type. In accordance withanother exemplary aspect of the present disclosure, which may be used incombination with any one or more of the preceding aspects, the secondtargeting criteria includes a measured latitude and longitude. Inaccordance with another exemplary aspect of the present disclosure,which may be used in combination with any one or more of the precedingaspects, the second targeting criteria includes a measured video playersize. In accordance with another exemplary aspect of the presentdisclosure, which may be used in combination with any one or more of thepreceding aspects, the second targeting criteria includes a measuredvideo player resolution. In accordance with another exemplary aspect ofthe present disclosure, which may be used in combination with any one ormore of the preceding aspects, the second targeting criteria includes ameasured bandwidth. In accordance with another exemplary aspect of thepresent disclosure, which may be used in combination with any one ormore of the preceding aspects, the second targeting criteria includes ameasured battery level. In accordance with another exemplary aspect ofthe present disclosure, which may be used in combination with any one ormore of the preceding aspects, the third targeting criteria includes alist of URLs.

In accordance with another exemplary aspect of the present disclosure,which may be used in combination with any one or more of the precedingaspects, a system comprises: at least one processor configured to:receive, from an advertiser, a plurality of attribute selections of aplurality of targeting criteria that are required to be fulfilled by auser device to serve a video advertisement to the user device, theplurality of attribute selections including at least a first attributeselection and a second attribute selection, wherein the second attributeselection relates to a measured first user device property; create anadvertising campaign including the plurality of targeting criteria basedon the plurality of attribute selections, the plurality of targetingcriteria including at least a first targeting criteria corresponding tothe first attribute selection and a second targeting criteriacorresponding to the second attribute selection; transmit the firsttargeting criteria to a demand side platform, which provides a responsebased on the first targeting criteria to a publisher server, whichmanages content to be displayed to the user device, wherein the userdevice is notified by the publisher server of a winning firstadvertising campaign that fulfils the first targeting criteria; reservethe second targeting criteria until after the user device is notified ofthe winning first advertising campaign that fulfils the first targetingcriteria; determine a plurality of related advertising campaignsincluding the first targeting criteria and the second targetingcriteria, wherein each of the plurality of related advertising campaignsare related to the winning first advertising campaign; and transmit, tothe user device, the plurality of related advertising campaigns, whereinthe user device measures the first user device property, compares themeasured user device property to the second targeting criteria, anddetermines that the measured user device property fulfils the secondtargeting criteria of a second advertising campaign from the pluralityof related advertising campaigns. In accordance with another exemplaryaspect of the present disclosure, which may be used in combination withany one or more of the preceding aspects, the system is an advertisingservice provider. In accordance with another exemplary aspect of thepresent disclosure, which may be used in combination with any one ormore of the preceding aspects, the system includes an advertisingserver, an advertising console, an analytics module, and an advertisingdata warehouse. In accordance with another exemplary aspect of thepresent disclosure, which may be used in combination with any one ormore of the preceding aspects, the system receives, from the userdevice, a request to serve the second advertising campaign. Inaccordance with another exemplary aspect of the present disclosure,which may be used in combination with any one or more of the precedingaspects, the system transmits, to the user device, the videoadvertisement, which corresponds to the second advertising campaign. Inaccordance with another exemplary aspect of the present disclosure,which may be used in combination with any one or more of the precedingaspects, the system transmits a device-side advertisement API to theuser device. In accordance with another exemplary aspect of the presentdisclosure, which may be used in combination with any one or more of thepreceding aspects, the device-side advertisement API measures the firstuser device property, compares the measured user device property to thesecond targeting criteria, and determines that the measured user deviceproperty fulfils the second targeting criteria of a second advertisingcampaign from the plurality of related advertising campaigns. Inaccordance with another exemplary aspect of the present disclosure,which may be used in combination with any one or more of the precedingaspects, the plurality of attribute selections includes a thirdattribute selection and the plurality of targeting criteria includes athird targeting criteria corresponding to the third attribute selection.In accordance with another exemplary aspect of the present disclosure,which may be used in combination with any one or more of the precedingaspects, the system transmits the third targeting criteria with thefirst targeting criteria to the demand side platform, which provides theresponse based on the first targeting criteria and the third targetingcriteria to the publisher server, wherein the winning first advertisingcampaign fulfils the third targeting criteria. In accordance withanother exemplary aspect of the present disclosure, which may be used incombination with any one or more of the preceding aspects, the measureduser device property fulfils the second targeting criteria when themeasured user device property matches the second targeting criteria. Inaccordance with another exemplary aspect of the present disclosure,which may be used in combination with any one or more of the precedingaspects, the system sets a pointer to a default video advertisement,which is configured to be served responsive to the measured user deviceproperty not fulfilling the second targeting criteria of the winningadvertising campaign and each respective advertising campaign from theplurality of related advertising campaigns. In accordance with anotherexemplary aspect of the present disclosure, which may be used incombination with any one or more of the preceding aspects, the systemsets a URL to an alternate publisher server, which is configured to beaccessed responsive to the measured user device property not fulfillingthe second targeting criteria of the winning advertising campaign andeach respective advertising campaign from the plurality of relatedadvertising campaigns. In accordance with another exemplary aspect ofthe present disclosure, which may be used in combination with any one ormore of the preceding aspects, the system sets quantitative goalsrelating to the advertising campaign. In accordance with anotherexemplary aspect of the present disclosure, which may be used incombination with any one or more of the preceding aspects, the systemsets disambiguation criteria that are used to score advertisingcampaigns. In accordance with another exemplary aspect of the presentdisclosure, which may be used in combination with any one or more of thepreceding aspects, the system sets playback criteria. In accordance withanother exemplary aspect of the present disclosure, which may be used incombination with any one or more of the preceding aspects, the playbackcriteria requires the video advertisement to be paused when the videoadvertisement is outside of a viewable portion of a content page. Inaccordance with another exemplary aspect of the present disclosure,which may be used in combination with any one or more of the precedingaspects, the plurality of related advertising campaigns are assembledbefore the first targeting criteria are transmitted to the demand sideplatform. In accordance with another exemplary aspect of the presentdisclosure, which may be used in combination with any one or more of thepreceding aspects, the plurality of related advertising campaigns arestored in a cache. In accordance with another exemplary aspect of thepresent disclosure, which may be used in combination with any one ormore of the preceding aspects, the demand side platform identifies thewinning advertising campaign. In accordance with another exemplaryaspect of the present disclosure, which may be used in combination withany one or more of the preceding aspects, the system receives a requestfor a video advertisement corresponding to the winning advertisingcampaign. In accordance with another exemplary aspect of the presentdisclosure, which may be used in combination with any one or more of thepreceding aspects, the system retrieves related advertising campaigninformation and packages the related advertising campaign information ina Video Ad Serving Template (VAST)/Video Player-Ad Interface Definition(VPAID) response. In accordance with another exemplary aspect of thepresent disclosure, which may be used in combination with any one ormore of the preceding aspects, a VAST/VPAID compliant response includesa reference to a device-side advertisement API. In accordance withanother exemplary aspect of the present disclosure, which may be used incombination with any one or more of the preceding aspects, the firsttargeting criteria includes a declared player size. In accordance withanother exemplary aspect of the present disclosure, which may be used incombination with any one or more of the preceding aspects, the firsttargeting criteria includes an specific operating system. In accordancewith another exemplary aspect of the present disclosure, which may beused in combination with any one or more of the preceding aspects, thefirst targeting criteria includes a specific device type. In accordancewith another exemplary aspect of the present disclosure, which may beused in combination with any one or more of the preceding aspects, thesecond targeting criteria includes a measured latitude and longitude. Inaccordance with another exemplary aspect of the present disclosure,which may be used in combination with any one or more of the precedingaspects, the second targeting criteria includes a measured video playersize. In accordance with another exemplary aspect of the presentdisclosure, which may be used in combination with any one or more of thepreceding aspects, the second targeting criteria includes a measuredvideo player resolution. In accordance with another exemplary aspect ofthe present disclosure, which may be used in combination with any one ormore of the preceding aspects, the second targeting criteria includes ameasured bandwidth. In accordance with another exemplary aspect of thepresent disclosure, which may be used in combination with any one ormore of the preceding aspects, the second targeting criteria includes ameasured battery level. In accordance with another exemplary aspect ofthe present disclosure, which may be used in combination with any one ormore of the preceding aspects, the third targeting criteria includes alist of URLs.

In accordance with another exemplary aspect of the present disclosure,which may be used in combination with any one or more of the precedingaspects, a system comprises: means for receiving, from an advertiser, aplurality of attribute selections of a plurality of targeting criteriathat are required to be fulfilled by a user device to serve a videoadvertisement to the user device, the plurality of attribute selectionsincluding at least a first attribute selection and a second attributeselection, wherein the second attribute selection relates to a measuredfirst user device property; means for creating an advertising campaignincluding the plurality of targeting criteria based on the plurality ofattribute selections, the plurality of targeting criteria including atleast a first targeting criteria corresponding to the first attributeselection and a second targeting criteria corresponding to the secondattribute selection; means for transmitting the first targeting criteriato a demand side platform, which provides a response based on the firsttargeting criteria to a publisher server, which manages content to bedisplayed to the user device, wherein the user device is notified by thepublisher server of a winning first advertising campaign that fulfilsthe first targeting criteria; means for reserving the second targetingcriteria until after the user device is notified of the winning firstadvertising campaign that fulfils the first targeting criteria; meansfor determining a plurality of related advertising campaigns includingthe first targeting criteria and the second targeting criteria, whereineach of the plurality of related advertising campaigns are related tothe winning first advertising campaign; and means for transmitting, tothe user device, the plurality of related advertising campaigns, whereinthe user device measures the first user device property, compares themeasured user device property to the second targeting criteria, anddetermines that the measured user device property fulfils the secondtargeting criteria of a second advertising campaign from the pluralityof related advertising campaigns.

In accordance with another exemplary aspect of the present disclosure,which may be used in combination with any one or more of the precedingaspects, a method comprises: receiving, at a user device, a notificationof a winning first advertising campaign that fulfils first targetingcriteria; sending, to an advertising server, a request for a first videoadvertisement corresponding to the winning advertising campaign;receiving, from the advertising server, a plurality of relatedadvertising campaigns each including the first targeting criteria andsecond targeting criteria, respectively, wherein each of the pluralityof related advertising campaigns are related to the winning firstadvertising campaign; collecting user device properties of the userdevice including a first user device property required by the secondtargeting criteria; comparing the collected first user device propertyto the second targeting criteria; and determining that a secondadvertising campaign from the plurality of related advertising campaignsfulfils the second targeting criteria of the second advertisingcampaign. In accordance with another exemplary aspect of the presentdisclosure, which may be used in combination with any one or more of thepreceding aspects, the method further comprises selecting the secondadvertising campaign to display on the user device. In accordance withanother exemplary aspect of the present disclosure, which may be used incombination with any one or more of the preceding aspects, the methodfurther comprises playing a second video advertisement corresponding tothe second advertising campaign. In accordance with another exemplaryaspect of the present disclosure, which may be used in combination withany one or more of the preceding aspects, collecting user deviceproperties includes performing measurements of the user deviceproperties. In accordance with another exemplary aspect of the presentdisclosure, which may be used in combination with any one or more of thepreceding aspects, the second targeting criteria specifies that at leastone of the user device properties is a critical criteria. In accordancewith another exemplary aspect of the present disclosure, which may beused in combination with any one or more of the preceding aspects, theuser device is configured to abort the second advertising campaignresponsive to the critical criteria not being fulfilled. In accordancewith another exemplary aspect of the present disclosure, which may beused in combination with any one or more of the preceding aspects, userdevice properties relating to the critical criteria are collected usinga fast data collection path. In accordance with another exemplary aspectof the present disclosure, which may be used in combination with any oneor more of the preceding aspects, the critical criteria includes atleast one of viewability, video player size, and audio settings. Inaccordance with another exemplary aspect of the present disclosure,which may be used in combination with any one or more of the precedingaspects, user device properties relating to the secondary criteria arecollected using a slower data collection path. In accordance withanother exemplary aspect of the present disclosure, which may be used incombination with any one or more of the preceding aspects, the fast datacollection path operates in parallel with the slower data collectionpath. In accordance with another exemplary aspect of the presentdisclosure, which may be used in combination with any one or more of thepreceding aspects, the secondary criteria includes device bandwidth. Inaccordance with another exemplary aspect of the present disclosure,which may be used in combination with any one or more of the precedingaspects, the method further comprises determining that declared userdevice properties were at least one of erroneous and fraudulent. Inaccordance with another exemplary aspect of the present disclosure,which may be used in combination with any one or more of the precedingaspects, a browser in the user device receives the notification of thewinning advertising campaign and sends the request for the videoadvertisement to the advertising server. In accordance with anotherexemplary aspect of the present disclosure, which may be used incombination with any one or more of the preceding aspects, the methodfurther comprises identifying at least two advertising campaigns thatfulfil the second targeting criteria. In accordance with anotherexemplary aspect of the present disclosure, which may be used incombination with any one or more of the preceding aspects, the methodfurther comprises scoring each of the at least two advertising campaignsand selects a highest scoring video advertising campaign. In accordancewith another exemplary aspect of the present disclosure, which may beused in combination with any one or more of the preceding aspects, themethod further comprises receiving a default video advertisementresponsive to the measured user device property not fulfilling thesecond targeting criteria of the winning advertising campaign and eachrespective advertising campaign from the plurality of relatedadvertising campaigns. In accordance with another exemplary aspect ofthe present disclosure, which may be used in combination with any one ormore of the preceding aspects, the method further comprises receiving aVAST/VPAID compliant response that includes a reference to a device-sideadvertisement API. In accordance with another exemplary aspect of thepresent disclosure, which may be used in combination with any one ormore of the preceding aspects, the browser follows the reference to thedevice-side advertisement API. In accordance with another exemplaryaspect of the present disclosure, which may be used in combination withany one or more of the preceding aspects, the user device properties areretrieved by invoking functionality of the browser. In accordance withanother exemplary aspect of the present disclosure, which may be used incombination with any one or more of the preceding aspects, the userdevice includes a device-side advertisement API that generates a firstprocess that measures user device properties, and generates a secondprocess that selects advertising campaigns, and the first processoperates in parallel with the second process. In accordance with anotherexemplary aspect of the present disclosure, which may be used incombination with any one or more of the preceding aspects, the secondprocess aborts any advertising campaign with critical criteria,responsive to the first process being unable to confirm that thecritical criteria is fulfilled. In accordance with another exemplaryaspect of the present disclosure, which may be used in combination withany one or more of the preceding aspects, the device-side advertisementAPI generates a third process that measures viewability of videoadvertisements, and the third process operates in parallel with thefirst process and the second process. In accordance with anotherexemplary aspect of the present disclosure, which may be used incombination with any one or more of the preceding aspects, the thirdprocess determines a percentage of the video advertisement that isviewable. In accordance with another exemplary aspect of the presentdisclosure, which may be used in combination with any one or more of thepreceding aspects, the method further comprises perform an assemblingoperation including parsing, interpreting, and organizing aVAST/VPAID-compliant response from the advertising server. In accordancewith another exemplary aspect of the present disclosure, which may beused in combination with any one or more of the preceding aspects,collecting user device properties includes measuring a battery level ofthe user device. In accordance with another exemplary aspect of thepresent disclosure, which may be used in combination with any one ormore of the preceding aspects, collecting user device propertiesincludes measuring a WiFi connectivity level of the user device. Inaccordance with another exemplary aspect of the present disclosure,which may be used in combination with any one or more of the precedingaspects, collecting user device properties includes measuring a size ofa video player. In accordance with another exemplary aspect of thepresent disclosure, which may be used in combination with any one ormore of the preceding aspects, the user device properties include audioplayback settings of the user device. In accordance with anotherexemplary aspect of the present disclosure, which may be used incombination with any one or more of the preceding aspects, the userdevice properties include video playback settings of the user device.

In accordance with another exemplary aspect of the present disclosure,which may be used in combination with any one or more of the precedingaspects, a user device comprises: a display; and a processor which isconfigured to: receive a notification of a winning first advertisingcampaign that fulfils first targeting criteria; send, to an advertisingserver, a request for a first video advertisement corresponding to thewinning advertising campaign; receive, from the advertising server, aplurality of related advertising campaigns each including the firsttargeting criteria and second targeting criteria, respectively, whereineach of the plurality of related advertising campaigns are related tothe winning first advertising campaign; collect user device propertiesof the user device including a first user device property required bythe second targeting criteria; compare the collected first user deviceproperty to the second targeting criteria; and determine that a secondadvertising campaign from the plurality of related advertising campaignsfulfils the second targeting criteria of the second advertisingcampaign. In accordance with another exemplary aspect of the presentdisclosure, which may be used in combination with any one or more of thepreceding aspects, the processor selects the second advertising campaignto display on the user device. In accordance with another exemplaryaspect of the present disclosure, which may be used in combination withany one or more of the preceding aspects, the display plays a secondvideo advertisement corresponding to the second advertising campaign. Inaccordance with another exemplary aspect of the present disclosure,which may be used in combination with any one or more of the precedingaspects, collecting user device properties includes performingmeasurements of the user device properties. In accordance with anotherexemplary aspect of the present disclosure, which may be used incombination with any one or more of the preceding aspects, the secondtargeting criteria specifies that at least one of the user deviceproperties is a critical criteria. In accordance with another exemplaryaspect of the present disclosure, which may be used in combination withany one or more of the preceding aspects, the user device is configuredto abort the second advertising campaign responsive to the criticalcriteria not being fulfilled. In accordance with another exemplaryaspect of the present disclosure, which may be used in combination withany one or more of the preceding aspects, user device propertiesrelating to the critical criteria are collected using a fast datacollection path. In accordance with another exemplary aspect of thepresent disclosure, which may be used in combination with any one ormore of the preceding aspects, the critical criteria includes at leastone of viewability, video player size, and audio settings. In accordancewith another exemplary aspect of the present disclosure, which may beused in combination with any one or more of the preceding aspects, userdevice properties relating to the secondary criteria are collected usinga slower data collection path. In accordance with another exemplaryaspect of the present disclosure, which may be used in combination withany one or more of the preceding aspects, the fast data collection pathoperates in parallel with the slower data collection path. In accordancewith another exemplary aspect of the present disclosure, which may beused in combination with any one or more of the preceding aspects, thesecondary criteria includes device bandwidth. In accordance with anotherexemplary aspect of the present disclosure, which may be used incombination with any one or more of the preceding aspects, the processordetermines that declared user device properties were at least one oferroneous and fraudulent. In accordance with another exemplary aspect ofthe present disclosure, which may be used in combination with any one ormore of the preceding aspects, a browser in the user device receives thenotification of the winning advertising campaign and sends the requestfor the video advertisement to the advertising server. In accordancewith another exemplary aspect of the present disclosure, which may beused in combination with any one or more of the preceding aspects, theprocessor identifies at least two advertising campaigns that fulfil thesecond targeting criteria. In accordance with another exemplary aspectof the present disclosure, which may be used in combination with any oneor more of the preceding aspects, the processor scores each of the atleast two advertising campaigns and selects a highest scoring videoadvertising campaign. In accordance with another exemplary aspect of thepresent disclosure, which may be used in combination with any one ormore of the preceding aspects, the processor receives a default videoadvertisement responsive to the measured user device property notfulfilling the second targeting criteria of the winning advertisingcampaign and each respective advertising campaign from the plurality ofrelated advertising campaigns. In accordance with another exemplaryaspect of the present disclosure, which may be used in combination withany one or more of the preceding aspects, the processor receives aVAST/VPAID compliant response that includes a reference to a device-sideadvertisement API. In accordance with another exemplary aspect of thepresent disclosure, which may be used in combination with any one ormore of the preceding aspects, the browser follows the reference to thedevice-side advertisement API. In accordance with another exemplaryaspect of the present disclosure, which may be used in combination withany one or more of the preceding aspects, the user device properties areretrieved by invoking functionality of the browser. In accordance withanother exemplary aspect of the present disclosure, which may be used incombination with any one or more of the preceding aspects, the userdevice includes a device-side advertisement API that generates a firstprocess that measures user device properties, and generates a secondprocess that selects advertising campaigns, and the first processoperates in parallel with the second process. In accordance with anotherexemplary aspect of the present disclosure, which may be used incombination with any one or more of the preceding aspects, the secondprocess aborts any advertising campaign with critical criteria,responsive to the first process being unable to confirm that thecritical criteria is fulfilled. In accordance with another exemplaryaspect of the present disclosure, which may be used in combination withany one or more of the preceding aspects, the device-side advertisementAPI generates a third process that measures viewability of videoadvertisements, and the third process operates in parallel with thefirst process and the second process. In accordance with anotherexemplary aspect of the present disclosure, which may be used incombination with any one or more of the preceding aspects, the thirdprocess determines a percentage of the video advertisement that isviewable. In accordance with another exemplary aspect of the presentdisclosure, which may be used in combination with any one or more of thepreceding aspects, the processor performs an assembling operationincluding parsing, interpreting, and organizing a VAST/VPAID-compliantresponse from the advertising server. In accordance with anotherexemplary aspect of the present disclosure, which may be used incombination with any one or more of the preceding aspects, collectinguser device properties includes measuring a battery level of the userdevice. In accordance with another exemplary aspect of the presentdisclosure, which may be used in combination with any one or more of thepreceding aspects, collecting user device properties includes measuringa WiFi connectivity level of the user device. In accordance with anotherexemplary aspect of the present disclosure, which may be used incombination with any one or more of the preceding aspects, collectinguser device properties includes measuring a size of a video player. Inaccordance with another exemplary aspect of the present disclosure,which may be used in combination with any one or more of the precedingaspects, the user device properties include audio playback settings ofthe user device. In accordance with another exemplary aspect of thepresent disclosure, which may be used in combination with any one ormore of the preceding aspects, the user device properties include videoplayback settings of the user device.

In accordance with another exemplary aspect of the present disclosure,which may be used in combination with any one or more of the precedingaspects, a computer readable medium storing instructions which, whenexecuted by a processor in a user device, are configured to: receive anotification of a winning first advertising campaign that fulfils firsttargeting criteria; send, to an advertising server, a request for afirst video advertisement corresponding to the winning advertisingcampaign; receive, from the advertising server, a plurality of relatedadvertising campaigns each including the first targeting criteria andsecond targeting criteria, respectively, wherein each of the pluralityof related advertising campaigns are related to the winning firstadvertising campaign; collect user device properties of the user deviceincluding a first user device property required by the second targetingcriteria; compare the collected first user device property to the secondtargeting criteria; and determine that a second advertising campaignfrom the plurality of related advertising campaigns fulfils the secondtargeting criteria of the second advertising campaign. In accordancewith another exemplary aspect of the present disclosure, which may beused in combination with any one or more of the preceding aspects, theprocessor is further configured to select the second advertisingcampaign to display on the user device. In accordance with anotherexemplary aspect of the present disclosure, which may be used incombination with any one or more of the preceding aspects, the displayis configured to play a second video advertisement corresponding to thesecond advertising campaign. In accordance with another exemplary aspectof the present disclosure, which may be used in combination with any oneor more of the preceding aspects, collecting user device propertiesincludes performing measurements of the user device properties. Inaccordance with another exemplary aspect of the present disclosure,which may be used in combination with any one or more of the precedingaspects, the second targeting criteria specifies that at least one ofthe user device properties is a critical criteria. In accordance withanother exemplary aspect of the present disclosure, which may be used incombination with any one or more of the preceding aspects, the userdevice is configured to abort the second advertising campaign responsiveto the critical criteria not being fulfilled. In accordance with anotherexemplary aspect of the present disclosure, which may be used incombination with any one or more of the preceding aspects, user deviceproperties relating to the critical criteria are collected using a fastdata collection path. In accordance with another exemplary aspect of thepresent disclosure, which may be used in combination with any one ormore of the preceding aspects, the critical criteria includes at leastone of viewability, video player size, and audio settings. In accordancewith another exemplary aspect of the present disclosure, which may beused in combination with any one or more of the preceding aspects, userdevice properties relating to the secondary criteria are collected usinga slower data collection path. In accordance with another exemplaryaspect of the present disclosure, which may be used in combination withany one or more of the preceding aspects, the fast data collection pathoperates in parallel with the slower data collection path. In accordancewith another exemplary aspect of the present disclosure, which may beused in combination with any one or more of the preceding aspects, thesecondary criteria includes device bandwidth. In accordance with anotherexemplary aspect of the present disclosure, which may be used incombination with any one or more of the preceding aspects, the processoris further configured to determine that declared user device propertieswere at least one of erroneous and fraudulent. In accordance withanother exemplary aspect of the present disclosure, which may be used incombination with any one or more of the preceding aspects, a browser inthe user device receives the notification of the winning advertisingcampaign and sends the request for the video advertisement to theadvertising server. In accordance with another exemplary aspect of thepresent disclosure, which may be used in combination with any one ormore of the preceding aspects, the processor is further configured toidentify at least two advertising campaigns that fulfil the secondtargeting criteria. In accordance with another exemplary aspect of thepresent disclosure, which may be used in combination with any one ormore of the preceding aspects, the processor is further configured toscore each of the at least two advertising campaigns and selects ahighest scoring video advertising campaign. In accordance with anotherexemplary aspect of the present disclosure, which may be used incombination with any one or more of the preceding aspects, the processoris further configured to receive a default video advertisementresponsive to the measured user device property not fulfilling thesecond targeting criteria of the winning advertising campaign and eachrespective advertising campaign from the plurality of relatedadvertising campaigns. In accordance with another exemplary aspect ofthe present disclosure, which may be used in combination with any one ormore of the preceding aspects, the processor is further configured toreceive a VAST/VPAID compliant response that includes a reference to adevice-side advertisement API. In accordance with another exemplaryaspect of the present disclosure, which may be used in combination withany one or more of the preceding aspects, the browser follows thereference to the device-side advertisement API. In accordance withanother exemplary aspect of the present disclosure, which may be used incombination with any one or more of the preceding aspects, the userdevice properties are retrieved by invoking functionality of thebrowser. In accordance with another exemplary aspect of the presentdisclosure, which may be used in combination with any one or more of thepreceding aspects, the user device includes a device-side advertisementAPI that generates a first process that measures user device properties,and generates a second process that selects advertising campaigns, andthe first process operates in parallel with the second process. Inaccordance with another exemplary aspect of the present disclosure,which may be used in combination with any one or more of the precedingaspects, the second process aborts any advertising campaign withcritical criteria, responsive to the first process being unable toconfirm that the critical criteria is fulfilled. In accordance withanother exemplary aspect of the present disclosure, which may be used incombination with any one or more of the preceding aspects, thedevice-side advertisement API generates a third process that measuresviewability of video advertisements, and the third process operates inparallel with the first process and the second process. In accordancewith another exemplary aspect of the present disclosure, which may beused in combination with any one or more of the preceding aspects, thethird process determines a percentage of the video advertisement that isviewable. In accordance with another exemplary aspect of the presentdisclosure, which may be used in combination with any one or more of thepreceding aspects, the processor is further configured to perform anassembling operation including parsing, interpreting, and organizing aVAST/VPAID-compliant response from the advertising server. In accordancewith another exemplary aspect of the present disclosure, which may beused in combination with any one or more of the preceding aspects,collecting user device properties includes measuring a battery level ofthe user device. In accordance with another exemplary aspect of thepresent disclosure, which may be used in combination with any one ormore of the preceding aspects, collecting user device propertiesincludes measuring a WiFi connectivity level of the user device. Inaccordance with another exemplary aspect of the present disclosure,which may be used in combination with any one or more of the precedingaspects, collecting user device properties includes measuring a size ofa video player. In accordance with another exemplary aspect of thepresent disclosure, which may be used in combination with any one ormore of the preceding aspects, the user device properties include audioplayback settings of the user device. In accordance with anotherexemplary aspect of the present disclosure, which may be used incombination with any one or more of the preceding aspects, the userdevice properties include video playback settings of the user device.

In accordance with another exemplary aspect of the present disclosure,which may be used in combination with any one or more of the precedingaspects, a system comprises: means for receiving, at a user device, anotification of a winning first advertising campaign that fulfils firsttargeting criteria; means for sending, to an advertising server, arequest for a first video advertisement corresponding to the winningadvertising campaign; means for receiving, from the advertising server,a plurality of related advertising campaigns each including the firsttargeting criteria and second targeting criteria, respectively, whereineach of the plurality of related advertising campaigns are related tothe winning first advertising campaign; means for collecting user deviceproperties of the user device including a first user device propertyrequired by the second targeting criteria; means for comparing thecollected first user device property to the second targeting criteria;and means for determining that a second advertising campaign from theplurality of related advertising campaigns fulfils the second targetingcriteria of the second advertising campaign.

In accordance with another exemplary aspect of the present disclosure,which may be used in combination with any one or more of the precedingaspects, a method comprises: collecting a plurality of video viewabilitypredictor data sets, the plurality of video viewability predictor datasets including geometric measurement data, refresh rate slowdown data,and a plurality of different user device properties collected from auser device; dividing the plurality of video viewability data sets intoa first set of training data sets and a second set testing data sets;generating parameter values of a prediction model based on the first setof training data sets; assessing the prediction model using the secondset of testing data sets; inputting, into the prediction model, aplurality of device properties of the user device; inputting, into theprediction model, a refresh rate slowdown of a video displayed in anunfriendly inline frame displayed on the user device; and outputting,from the prediction model, a viewability inference of the unfriendlyinline frame displayed on the user device based on the plurality ofdevice properties of the user device and refresh rate slowdown data ofthe unfriendly inline frame displayed on the user device. In accordancewith another exemplary aspect of the present disclosure, which may beused in combination with any one or more of the preceding aspects, themethod further comprises controlling the video displayed in theunfriendly inline frame based on the viewability inference. Inaccordance with another exemplary aspect of the present disclosure,which may be used in combination with any one or more of the precedingaspects, controlling the video includes pausing the video. In accordancewith another exemplary aspect of the present disclosure, which may beused in combination with any one or more of the preceding aspects,controlling the video includes resuming playback of the video. Inaccordance with another exemplary aspect of the present disclosure,which may be used in combination with any one or more of the precedingaspects, the method further comprises controlling a selection of anadvertising campaign based on the viewability inference. In accordancewith another exemplary aspect of the present disclosure, which may beused in combination with any one or more of the preceding aspects, therefresh rate slowdown of the video is generated by overlaying markingson the video while the video plays and performing an operation on themarkings while the video plays. In accordance with another exemplaryaspect of the present disclosure, which may be used in combination withany one or more of the preceding aspects, the markings include text. Inaccordance with another exemplary aspect of the present disclosure,which may be used in combination with any one or more of the precedingaspects, the markings include at least one of alphanumeric charactersand symbols. In accordance with another exemplary aspect of the presentdisclosure, which may be used in combination with any one or more of thepreceding aspects, the operation is a blurring operation. In accordancewith another exemplary aspect of the present disclosure, which may beused in combination with any one or more of the preceding aspects, theoperation is a dithering operation. In accordance with another exemplaryaspect of the present disclosure, which may be used in combination withany one or more of the preceding aspects, the markings are nearlytransparent. In accordance with another exemplary aspect of the presentdisclosure, which may be used in combination with any one or more of thepreceding aspects, the plurality of different user device propertiesinclude hardware properties. In accordance with another exemplary aspectof the present disclosure, which may be used in combination with any oneor more of the preceding aspects, the hardware properties include a typeof processor. In accordance with another exemplary aspect of the presentdisclosure, which may be used in combination with any one or more of thepreceding aspects, the hardware properties include a GPS module. Inaccordance with another exemplary aspect of the present disclosure,which may be used in combination with any one or more of the precedingaspects, the hardware properties include a WiFi chipset. In accordancewith another exemplary aspect of the present disclosure, which may beused in combination with any one or more of the preceding aspects, thehardware properties include an audio capabilities. In accordance withanother exemplary aspect of the present disclosure, which may be used incombination with any one or more of the preceding aspects, the hardwareproperties include a device type of one of laptop, desktop, and mobiledevice. In accordance with another exemplary aspect of the presentdisclosure, which may be used in combination with any one or more of thepreceding aspects, the plurality of different user device propertiesinclude software properties. In accordance with another exemplary aspectof the present disclosure, which may be used in combination with any oneor more of the preceding aspects, the software properties include ameasured video player size. In accordance with another exemplary aspectof the present disclosure, which may be used in combination with any oneor more of the preceding aspects, the software properties include ameasured video player resolution. In accordance with another exemplaryaspect of the present disclosure, which may be used in combination withany one or more of the preceding aspects, the plurality of differentuser device properties include a detected latitude and longitude of theuser device.

In accordance with another exemplary aspect of the present disclosure,which may be used in combination with any one or more of the precedingaspects, a system comprises: at least one processor configured to:collect a plurality of video viewability predictor data sets, theplurality of video viewability predictor data sets including geometricmeasurement data, refresh rate slowdown data, and a plurality ofdifferent user device properties collected from a user device; dividethe plurality of video viewability data sets into a first set oftraining data sets and a second set testing data sets; generateparameter values of a prediction model based on the first set oftraining data sets; assess the prediction model using the second set oftesting data sets; input, into the prediction model, a plurality ofdevice properties of the user device; input, into the prediction model,a refresh rate slowdown of a video displayed in an unfriendly inlineframe displayed on the user device; and output, from the predictionmodel, a viewability inference of the unfriendly inline frame displayedon the user device based on the plurality of device properties of theuser device and refresh rate slowdown data of the unfriendly inlineframe displayed on the user device. In accordance with another exemplaryaspect of the present disclosure, which may be used in combination withany one or more of the preceding aspects, the at least one processorcontrols the video displayed in the unfriendly inline frame based on theviewability inference. In accordance with another exemplary aspect ofthe present disclosure, which may be used in combination with any one ormore of the preceding aspects, controlling the video includes pausingthe video. In accordance with another exemplary aspect of the presentdisclosure, which may be used in combination with any one or more of thepreceding aspects, controlling the video includes resuming playback ofthe video. In accordance with another exemplary aspect of the presentdisclosure, which may be used in combination with any one or more of thepreceding aspects, the at least one processor controls a selection of anadvertising campaign based on the viewability inference. In accordancewith another exemplary aspect of the present disclosure, which may beused in combination with any one or more of the preceding aspects, therefresh rate slowdown of the video is generated by overlaying markingson the video while the video plays and performing an operation on themarkings while the video plays. In accordance with another exemplaryaspect of the present disclosure, which may be used in combination withany one or more of the preceding aspects, the markings include text. Inaccordance with another exemplary aspect of the present disclosure,which may be used in combination with any one or more of the precedingaspects, the markings include at least one of alphanumeric charactersand symbols. In accordance with another exemplary aspect of the presentdisclosure, which may be used in combination with any one or more of thepreceding aspects, the operation is a blurring operation. In accordancewith another exemplary aspect of the present disclosure, which may beused in combination with any one or more of the preceding aspects, theoperation is a dithering operation. In accordance with another exemplaryaspect of the present disclosure, which may be used in combination withany one or more of the preceding aspects, the markings are nearlytransparent. In accordance with another exemplary aspect of the presentdisclosure, which may be used in combination with any one or more of thepreceding aspects, the plurality of different user device propertiesinclude hardware properties. In accordance with another exemplary aspectof the present disclosure, which may be used in combination with any oneor more of the preceding aspects, the hardware properties include a typeof processor. In accordance with another exemplary aspect of the presentdisclosure, which may be used in combination with any one or more of thepreceding aspects, the hardware properties include a GPS module. Inaccordance with another exemplary aspect of the present disclosure,which may be used in combination with any one or more of the precedingaspects, the hardware properties include a WiFi chipset. In accordancewith another exemplary aspect of the present disclosure, which may beused in combination with any one or more of the preceding aspects, thehardware properties include an audio capabilities. In accordance withanother exemplary aspect of the present disclosure, which may be used incombination with any one or more of the preceding aspects, the hardwareproperties include a device type of one of laptop, desktop, and mobiledevice. In accordance with another exemplary aspect of the presentdisclosure, which may be used in combination with any one or more of thepreceding aspects, the plurality of different user device propertiesinclude software properties. In accordance with another exemplary aspectof the present disclosure, which may be used in combination with any oneor more of the preceding aspects, the software properties include ameasured video player size. In accordance with another exemplary aspectof the present disclosure, which may be used in combination with any oneor more of the preceding aspects, the software properties include ameasured video player resolution. In accordance with another exemplaryaspect of the present disclosure, which may be used in combination withany one or more of the preceding aspects, the plurality of differentuser device properties include a detected latitude and longitude of theuser device.

In accordance with another exemplary aspect of the present disclosure,which may be used in combination with any one or more of the precedingaspects, a computer readable medium stores instructions which, whenexecuted by a processor, are configured to: collect a plurality of videoviewability predictor data sets, the plurality of video viewabilitypredictor data sets including geometric measurement data, refresh rateslowdown data, and a plurality of different user device propertiescollected from a user device; divide the plurality of video viewabilitydata sets into a first set of training data sets and a second settesting data sets; generate parameter values of a prediction model basedon the first set of training data sets; assess the prediction modelusing the second set of testing data sets; input, into the predictionmodel, a plurality of device properties of the user device; input, intothe prediction model, a refresh rate slowdown of a video displayed in anunfriendly inline frame displayed on the user device; and output, fromthe prediction model, a viewability inference of the unfriendly inlineframe displayed on the user device based on the plurality of deviceproperties of the user device and refresh rate slowdown data of theunfriendly inline frame displayed on the user device. In accordance withanother exemplary aspect of the present disclosure, which may be used incombination with any one or more of the preceding aspects, the processorcontrols the video displayed in the unfriendly inline frame based on theviewability inference. In accordance with another exemplary aspect ofthe present disclosure, which may be used in combination with any one ormore of the preceding aspects, controlling the video includes pausingthe video. In accordance with another exemplary aspect of the presentdisclosure, which may be used in combination with any one or more of thepreceding aspects, controlling the video includes resuming playback ofthe video. In accordance with another exemplary aspect of the presentdisclosure, which may be used in combination with any one or more of thepreceding aspects, the processor controls a selection of an advertisingcampaign based on the viewability inference. In accordance with anotherexemplary aspect of the present disclosure, which may be used incombination with any one or more of the preceding aspects, the refreshrate slowdown of the video is generated by overlaying markings on thevideo while the video plays and performing an operation on the markingswhile the video plays. In accordance with another exemplary aspect ofthe present disclosure, which may be used in combination with any one ormore of the preceding aspects, the markings include text. In accordancewith another exemplary aspect of the present disclosure, which may beused in combination with any one or more of the preceding aspects, themarkings include at least one of alphanumeric characters and symbols. Inaccordance with another exemplary aspect of the present disclosure,which may be used in combination with any one or more of the precedingaspects, the operation is a blurring operation. In accordance withanother exemplary aspect of the present disclosure, which may be used incombination with any one or more of the preceding aspects, the operationis a dithering operation. In accordance with another exemplary aspect ofthe present disclosure, which may be used in combination with any one ormore of the preceding aspects, the markings are nearly transparent. Inaccordance with another exemplary aspect of the present disclosure,which may be used in combination with any one or more of the precedingaspects, the plurality of different user device properties includehardware properties. In accordance with another exemplary aspect of thepresent disclosure, which may be used in combination with any one ormore of the preceding aspects, the hardware properties include a type ofprocessor. In accordance with another exemplary aspect of the presentdisclosure, which may be used in combination with any one or more of thepreceding aspects, the hardware properties include a GPS module. Inaccordance with another exemplary aspect of the present disclosure,which may be used in combination with any one or more of the precedingaspects, the hardware properties include a WiFi chipset. In accordancewith another exemplary aspect of the present disclosure, which may beused in combination with any one or more of the preceding aspects, thehardware properties include an audio capabilities. In accordance withanother exemplary aspect of the present disclosure, which may be used incombination with any one or more of the preceding aspects, the hardwareproperties include a device type of one of laptop, desktop, and mobiledevice. In accordance with another exemplary aspect of the presentdisclosure, which may be used in combination with any one or more of thepreceding aspects, the plurality of different user device propertiesinclude software properties. In accordance with another exemplary aspectof the present disclosure, which may be used in combination with any oneor more of the preceding aspects, the software properties include ameasured video player size. In accordance with another exemplary aspectof the present disclosure, which may be used in combination with any oneor more of the preceding aspects, the software properties include ameasured video player resolution. In accordance with another exemplaryaspect of the present disclosure, which may be used in combination withany one or more of the preceding aspects, the plurality of differentuser device properties include a detected latitude and longitude of theuser device.

In accordance with another exemplary aspect of the present disclosure,which may be used in combination with any one or more of the precedingaspects, a system comprises: means for collecting a plurality of videoviewability predictor data sets, the plurality of video viewabilitypredictor data sets including geometric measurement data, refresh rateslowdown data, and a plurality of different user device propertiescollected from a user device; means for dividing the plurality of videoviewability data sets into a first set of training data sets and asecond set testing data sets; means for generating parameter values of aprediction model based on the first set of training data sets; means forassessing the prediction model using the second set of testing datasets; means for inputting, into the prediction model, a plurality ofdevice properties of the user device; means for inputting, into theprediction model, a refresh rate slowdown of a video displayed in anunfriendly inline frame displayed on the user device; and means foroutputting, from the prediction model, a viewability inference of theunfriendly inline frame displayed on the user device based on theplurality of device properties of the user device and refresh rateslowdown data of the unfriendly inline frame displayed on the userdevice. In accordance with another exemplary aspect of the presentdisclosure, which may be used in combination with any one or more of thepreceding aspects, the system further comprises means for controllingthe video displayed in the unfriendly inline frame based on theviewability inference. In accordance with another exemplary aspect ofthe present disclosure, which may be used in combination with any one ormore of the preceding aspects, the system further comprises means forcontrolling a selection of an advertising campaign based on theviewability inference.

Although certain embodiments have been described and illustrated inexemplary forms with a certain degree of particularity, it is noted thatthe description and illustrations have been made by way of example only.Numerous changes in the details of construction, combination, andarrangement of parts and operations may be made. Accordingly, suchchanges are intended to be included within the scope of the disclosure.

The invention is claimed as follows:
 1. A method comprising: playing avideo on a display of an electronic device, wherein the video has aheight and a width, the video has an area based on the height and width;overlaying markings, by a processor, on the video in the area while thevideo plays; at a first time while the video plays on the display,measuring a first refresh rate of the video; at a second time while thevideo plays on the display, performing, by the processor, a firstprocessor-based operation on the markings; while the video plays on thedisplay at the second time, performing, by the processor, a refreshingoperation, and the first processor-based operation slows down therefreshing operation of a viewable portion of the video; measuring asecond refresh rate of the video at the second time, wherein the secondrefresh rate is less than the first refresh rate based on the processorperforming the first processor-based operation; and estimating aviewability of the video by determining an estimated area of the videodisplayed on the display based on the first refresh rate and the secondrefresh rate.
 2. The method of claim 1, further comprising comparing theestimated area of the video displayed on the display to a thresholdarea.
 3. The method of claim 2, further comprising responsive to theestimated area of the video displayed on the display being less than thethreshold area, pausing the video.
 4. The method of claim 1, wherein thefirst processor-based operation includes blurring, which slows down therefreshing operation of the viewable portion of the video.
 5. The methodof claim 1, further comprising: performing, by the processor, a secondoperation on the markings while the video plays; and measuring a thirdrefresh rate of the video at the third time, wherein the estimated areaof the video displayed on the display at the third time is determinedbased on the first refresh rate, the second refresh rate, and the thirdrefresh rate.
 6. The method of claim 5, further comprising: comparingthe estimated area of the video displayed on the display at the thirdtime to the threshold area; and responsive to the estimated area of thevideo displayed on the display being greater than the threshold area,resume playing the video.
 7. The method of claim 1, wherein the markingson the video in the area include at least one of alphanumeric charactersand symbols.
 8. The method of claim 1, wherein determining the estimatedarea of the video displayed on the display includes comparing the firstrefresh rate to the second refresh rate.
 9. The method of claim 1,wherein the first processor-based operation includes dithering, whichslows down the refreshing operation of the viewable portion of thevideo.
 10. The method of claim 1, wherein the markings are substantiallyinvisible to a user.
 11. The method of claim 1, wherein determining theestimated area of the video displayed on the display is based on arefresh rate slowdown.
 12. The method of claim 1, wherein the firstrefresh rate is greater than the second refresh rate when at least afirst area of the video is displayed on the display.
 13. The method ofclaim 1, wherein the first refresh rate is measured in frames persecond.
 14. The method of claim 1, wherein the second time is at least100 milliseconds after the first time.
 15. The method of claim 1,wherein the video is played in an inline frame.
 16. The method of claim15, wherein the video is displayed in native video player.
 17. Themethod of claim 15, further comprising: executing a geometricdetermination of the estimated area of the video displayed in the inlineframe.
 18. The method of claim 1, wherein the video is displayed in aviewport, which includes a viewable portion of content that isadjustable through scrolling.
 19. The method of claim 18, wherein theestimated area of the video displayed on the display changes based on auser scrolling at least one of vertically and laterally within theviewport.
 20. A client comprising: an electronic display; and aprocessor configured to control the display to: play a video on thedisplay, wherein the video has a height and a width, the video has anarea based on the height and width; overlay markings, by the processor,on the video in the area while the video plays; at a first time whilethe video plays on the display, measure a first refresh rate of thevideo; at a second time while the video plays on the display, perform,by the processor, a first processor-based operation on the markings;while the video plays on the display at the second time, perform, by theprocessor, a refreshing operation, and the first processor-basedoperation slows down the refreshing operation of a viewable portion ofthe video; measure a second refresh rate of the video at the secondtime, wherein the second refresh rate is less than the first refreshrate based on the processor performing the first processor-basedoperation; and estimate a viewability of the video by determining anestimated area of the video displayed on the display based on the firstrefresh rate and the second refresh rate.
 21. The client of claim 20,wherein the processor sends the first refresh rate and the secondrefresh rate to a server.
 22. The client of claim 21, wherein the serverdetermines the estimated area of the video displayed on the displaybased on the first refresh rate and the second refresh rate.
 23. Theclient of claim 22, wherein determining the estimated area of the videodisplayed on the display includes comparing the first refresh rate tothe second refresh rate.
 24. The client of claim 22, wherein the serversends the estimated area of the video displayed on the display to theclient.
 25. The client of claim 22, wherein determining the estimatedarea of the video displayed on the display is based on a refresh rateslowdown.
 26. A computer readable medium storing instructions which,when executed by a processor, are configured to: play a video on adisplay of an electronic device, wherein the video has a height and awidth, the video has an area based on the height and width; overlaymarkings, by the processor, on the video in the area while the videoplays; at a first time while the video plays on the display, measure afirst refresh rate of the video; at a second time while the video playson the display, perform, by the processor, a first processor-basedoperation on the markings; while the video plays on the display at thesecond time, perform, by the processor, a refreshing operation, and thefirst processor-based operation slows down the refreshing operation of aviewable portion of the video; measure a second refresh rate of thevideo at the second time, wherein the second refresh rate is less thanthe first refresh rate based on the processor performing the firstprocessor-based operation; and estimate a viewability of the video bydetermining an estimated area of the video displayed on the displaybased on the first refresh rate and the second refresh rate.